Any() 运行 LINQ 查询
Does Any() run the LINQ query
如果我写一个查询,例如:
var query = (from a in this.Context.Addresses where a.Active select a.Name);
那么
这样说对吗
if(query.Any())
return query.ToList();
return null;
请注意查询没有 FirstOrDefault()
或 ToList()
所以我想知道 .Any()
是否运行查询?
是的 - 它必须,因为它必须 return true
或 false
。如果没有 运行 查询,它 可能 无法做到这一点。
如果你要有条件地 return ToList()
,你最好写成:
var list = query.ToList();
return list.Any() ? list : null;
... 或者我实际上建议您只是 return query.ToList()
无论如何 ,因为使用空列表而不是必须特例空值。
如果我写一个查询,例如:
var query = (from a in this.Context.Addresses where a.Active select a.Name);
那么
这样说对吗if(query.Any())
return query.ToList();
return null;
请注意查询没有 FirstOrDefault()
或 ToList()
所以我想知道 .Any()
是否运行查询?
是的 - 它必须,因为它必须 return true
或 false
。如果没有 运行 查询,它 可能 无法做到这一点。
如果你要有条件地 return ToList()
,你最好写成:
var list = query.ToList();
return list.Any() ? list : null;
... 或者我实际上建议您只是 return query.ToList()
无论如何 ,因为使用空列表而不是必须特例空值。