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

C# 如何从LINQ获取ExecuteCommand(或ExecuteQuery)的字符串值?,c#,string,linq,C#,String,Linq,这里有一个非常简单的问题: 我有一个LINQ查询,然后通过foreach循环运行 在foreach内部,我通过LINQ调用ExecuteCommand从同一个表中检索一个非对称的解密值。由于查询的复杂性,我不得不执行ExecuteCommand 现在我更简单的问题是。。。如何从中检索该值?我知道它只是一个值,所以我不需要遍历它或其他任何东西 我尝试了一个字符串myString=db.ExecuteCommand(“这里有命令”)无效。它甚至不让我在它自己的前程中运行它 不管怎么说,我的人才流失在

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

我有一个LINQ查询,然后通过foreach循环运行

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

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

我尝试了一个
字符串myString=db.ExecuteCommand(“这里有命令”)无效。它甚至不让我在它自己的前程中运行它


不管怎么说,我的人才流失在这件事上影响到了我。任何帮助都将不胜感激。提前谢谢

您需要使用ExecuteQuery()


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

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

如果希望实际接收数据,则需要使用ExecuteQuery重载之一

这将返回具有指定类型的IEnumerable。因为您知道它将只是一个值,所以此方法似乎值得一看,以便实际获得您的值:

请像这样试试

string result = db.ExecuteQuery<string>("SQL Command").Single()
string result=db.ExecuteQuery(“SQL命令”).Single()

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

到目前为止您得到了什么代码?您可以发布代码吗?当你说“以后它甚至不让我运行它自己的foreach”时,你是什么意思?如果你有一个foreach语句没有被输入,那么它意味着没有要迭代的项。您的命令是否实际返回值?