使用if else条件从LINQ Query获取数据

时间:2017-05-25 11:05:51

标签: sql-server linq

以下两个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语句后将获取数据。

1 个答案:

答案 0 :(得分:1)

数据由ToList()(带或不带await)提取。在此之前,您只是在构建查询。

两个查询在到达ToList()时相同,将生成相同的SQL代码并运行相同的。