如何知道linq是否返回了一个对象?

时间:2010-12-29 11:55:40

标签: linq entity-framework

例如。

我有一个linq查询来搜索客户

var customer = from c in _repo
               where c.username == username
               select c;

如何确定是否找到了客户?

我试过

if(customer)

但是VS说不能将Models.Customer类型隐式转换为bool

该模型由EF4生成。

自使用的存储库模式。

单一方法返回 public TEntity Single(表达式>谓词)

2 个答案:

答案 0 :(得分:2)

看起来你真的想找到一个客户,所以请使用:

var customer = _repo.SingleOrDefault(c => c.username == username);
if (customer != null)
{
    ...
}

如果多个客户名称相同,则应考虑是否要查找所有客户,或者是否可以使用第一个。如果您可以提供有关您尝试做的更多详细信息,我们可以提供更多帮助。

答案 1 :(得分:0)

您可以使用Enumerable.Any

if (customer.Any())