我有一个完美运行的linq查询,但是,如果我有一个空的mySTRINGVAR,我想避免使用整个“ where”过滤器,但是当我包含if语句时,它使查询中断了!在此先感谢您的帮助。

因此,这就是我所拥有的,并且运行完美!!:

var records = from school in schools
   join tableA in tableAs on someid equals anotherid into tableC
   from tableD in tableC.Where(c => c.tablefield == mySTRINGVAR).DefaultIfEmpty()
   select new { etc.. }


但是,如果我的mySTRINGVAR为null或为空,我试图不包括任何“ where”语句:

var records = from school in schools
   join tableA in tableAs on someid equals anotherid into tableC
   from tableD in tableC.DefaultIfEmpty()
   select new { etc.. }

最佳答案

但是,如果我的
  mySTRINGVAR为null或为空:


修改Where如:

tableC.Where(c => !string.IsNullOrEmpty(mySTRINGVAR) && c.tablefield == mySTRINGVAR)

关于c# - LINQ查询中的if语句在哪里,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18966142/

10-09 01:08