如何从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");
,但没有用。之后,它甚至不让我在它自己的前臂上跑步。
不管怎样,我的人才流失正在影响我。任何帮助都将不胜感激。提前感谢!
请这样尝试。
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