如何从LINQ获取ExecuteCommand(或ExecuteQuery)的字符串值

本文关键字:ExecuteQuery 字符串 LINQ 获取 ExecuteCommand | 更新日期: 2023-09-27 18:22:42

这里有一个非常简单的问题:

我得到了一个LINQ查询,然后它运行在foreach循环中。

在foreach中,我通过LINQ调用ExecuteCommand,从同一个表中检索一个非对称的解密值。由于查询的复杂性,我不得不执行ExecuteCommand。

现在我更简单的问题是…如何从中检索该值?我知道它只是一个单一的值,所以我不需要循环它或任何东西。

我试过string myString = db.ExecuteCommand("command goes here");,但没有用。之后,它甚至不让我在它自己的前臂上跑步。

不管怎样,我的人才流失正在影响我。任何帮助都将不胜感激。提前感谢!

如何从LINQ获取ExecuteCommand(或ExecuteQuery)的字符串值

请这样尝试。

string result = db.ExecuteQuery<string>("SQL Command").Single()

如果只想返回单个值,这与ExecuteScalar()方法类似。

您需要使用ExecuteQuery()http://msdn.microsoft.com/en-us/library/bb361109.aspx

ExecuteCommand()返回受影响的行数。

ExecuteCommand方法的返回值只是一个整数,其中包含受命令影响的行数。

http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.executecommand.aspx

如果要实际接收数据,则需要使用其中一个ExecuteQuery重载。

这将返回一个具有指定类型的IEnumerable。既然你知道它只是一个单一的值,为了真正获得你的值,这个方法似乎值得一看:

http://msdn.microsoft.com/en-us/library/bb357287.aspx