Linq查询分配给的变量的值永远不会为NULL
本文关键字:NULL 永远 变量 查询 分配 Linq | 更新日期: 2023-09-27 18:14:18
var query = from k in entity.Candidates where k.CandidateId == candidateid select k;
if(query==null)
{
return false;
}
我一直在检查变量query
是否具有null值。但是要注意,即使结果集不返回任何结果,查询也不等于null。永远不会进入if块。如何简单地检查结果集是否没有内容?
这是正确的行为:查询对象与从IQueryable
对象封装返回的项不同。由于没有运行该查询,因此检查
if (query==null)
验证IQueryable
对象创建成功。
要检查查询的结果,您需要尝试运行它,或者在其上调用聚合方法:
- 你可以运行
ToList()
并检查Count
的结果,或者 - 调用
Any()
查询是否有结果,或者 - 调用
FirstOrDefault()
,并将其结果与null
比较。