动态创建linq查询

时间:2015-07-13 11:08:32

标签: c#-4.0 linq-to-entities

我在linq查询中创建条件有一些问题(在哪里)。基于某些条件创建内部条件。 我想基于两个属性(id_indice_prix,date_indice)过滤Indice列表。我可以过滤它们或只过滤一个。你有什么建议吗? 我现在正在做的是,我从linq到entites获取数据库中的所有行,然后我根据条件进行过滤:

   var listeIndiceActualisationPrix = UnitOfWork.Indices_actualisation_prix.ToList();

        if (IdIndicePrix != 0) 
            listeIndiceActualisationPrix = listeIndiceActualisationPrix.Where(x => x.id_indice_prix == IdIndicePrix).ToList();


        if(Annee !=0)
            listeIndiceActualisationPrix = listeIndiceActualisationPrix.Where(x => x.date_indice.Value.Year == Annee).ToList();

1 个答案:

答案 0 :(得分:0)

不要每次都放.ToList()。当您致电.ToList()时,将执行查询。在没有.ToList()的情况下动态构建查询,并在if语句的末尾执行.ToList()以使用相应的WHERE语句查询数据库。