以下两个linq查询场景是否相同,性能明智?
第一:
var result= ._context.PDUTeams
.Where(x=>x.Name=="Steve");
if(some condition)
{
result=result.Where(x=>x.Age==23); // people having age=23 are 2
}
else{
result=result.Where(x=>x.Age==19); // people having age=19 are 2
}
var data= await result.toList();
第二:
var result= ._context.PDUTeams
.Where(x=>x.Name=="Steve").Where(x=>x.Age==19);
var data=await result.tolist();
async运算符是否获取结果,或者在排除第一个linq语句后将获取数据。
答案 0 :(得分:1)
数据由ToList()
(带或不带await
)提取。在此之前,您只是在构建查询。
两个查询在到达ToList()
时相同,将生成相同的SQL代码并运行相同的。