Wah*_*eed 2 c# linq linq-to-sql
我使用以下内容
var validLogin = from P in this.DataContext.Persons
where P.UserName.Equals(login) && P.Password.Equals(password)
select new
{
P.FirstName,
P.LastName,
P.EmailAddress
};
Run Code Online (Sandbox Code Playgroud)
在这个现在我想知道,这个查询是否返回任何结果?这该怎么做.
Jon*_*eet 11
不要使用Count()
- Any()
除非您真正关心计数,否则请使用.
实际上,您可以对此进行简化,因为您不会使用其余结果:
bool validLogin = DataContext.Persons.Any(p => p.UserName == login &&
p.Password == password);
Run Code Online (Sandbox Code Playgroud)
好处Any()
是,无论处理什么,查询都可以在找到任何匹配结果后立即停止- 它不需要继续寻找其他可能的匹配.(当然Count()
会工作,它效率不高,主要是因为操作员本身并没有准确地描述你真正关心的东西.)