Linq-to-Sql count()返回0,即使有行返回

时间:2013-01-28 11:38:45

标签: asp.net .net linq-to-sql

我不清楚为什么我无法获取使用linq-to-sql返回的行数

我将此查询用作验证:

var obj1 = (from c in context.sistema_DocType_Index
where c.indexId == id
select c).First();

if(obj1 != null) {}

如果没有返回行,我使用First()方法得到一个null异常。好的,所以我决定使用Count()。

var obj1 = (from c in context.sistema_DocType_Index
where c.indexId == id
select c).Count();

if(obj1  > 0) {}

我有3行从数据库返回,但Count()给我0。 那是为什么?

1 个答案:

答案 0 :(得分:1)

您可以使用Any();方法。这种情况最好用。 Any()

if( YourDataCollection.Any(SomeCOndtion==SOmeValue))
 { 
 //  do some logic
 }