简单查询linq

时间:2012-08-13 16:17:06

标签: c# linq

使用linq,我想检查数据库中是否存在行。我只需要一个真正的\ false返回,没有数据。 我不能使用ExecuteQuery方法,因为我没有实体(我甚至不需要它) 我想做这样的事情:

string command = "select * from myTable where X=Y"
var result = db.ExecuteCommand(command);

(db是我的DataContext) 并期望结果包含受影响的行数。如果不同于-1则意味着我正在寻找的记录存在。但我总是得到-1。我想ExecuteCommand方法应该只用于运行插入,更新或删除。

如何使用linq

运行此简单检查

4 个答案:

答案 0 :(得分:5)

您可以使用Any()运算符。如果调用它的IEnumerableIQueryable至少有一个项目(即它有任何项目),它将返回true。

答案 1 :(得分:2)

如果db是您的数据上下文,您应该这样做:

bool rowExists = dc.GetTable<myTable>().Any(row => row.X == row.Y);

通常,使用LINQ to SQL(和实体框架),您很少想直接编写SQL代码。

答案 2 :(得分:0)

替换

select *

select count(*)

答案 3 :(得分:0)

你可能最好不要运行SELECT COUNT(*) FROM myTable WHERE X=Y并检查返回的单个记录是否等于零

相关问题