2017-05-08 34 views
0

我有一個從數據表中選擇一些行的查詢,但該條款where級聯根據許多測試,波紋管我什麼都試過,但他沒有工作:動態where子句中的LINQ到數據表

Dim queryArchi = (From b In DataBien.AsEnumerable() 
    Group b By b!nom_ville, b!Designation_projet, b!code_ville, b!code_projet Into Group 
    Select nom_ville, Designation_projet,code_ville, code_projet, NBP = Group.Count()) 

     If vil <> "" Then queryArchi = queryArchi.Where(Function(d) d.code_ville = vil) 
     If p > 0 Then queryArchi.Where(Function(d) d.code_projet.Equals(p))      
      queryStructure = queryArchi.ToList 

只有第一個測試工作:

If vil <> "" Then queryArchi = queryArchi.Where(Function(d) d.code_ville = vil) 

我不知道是否有一個auther可能性來完成我尋找。 感謝我提前

回答

0

看看這兩行:

If vil <> "" Then queryArchi = queryArchi.Where(Function(d) d.code_ville = vil) 
If p > 0 Then queryArchi.Where(

君不見有什麼區別?存在丟失queryArchi =

所以

If p > 0 Then queryArchi = queryArchi.Where(

LINQ運營商不「修改」的原始查詢,他們只需返回與LINQ運營商一個「新」查詢「補充」。