C# linq查询c中的where if语句#
我有一个运行完美的linq查询,但是,如果我有一个空的C# linq查询c中的where if语句#,c#,sql,asp.net-mvc,linq,C#,Sql,Asp.net Mvc,Linq,我有一个运行完美的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.t
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或空:
var records = from school in schools
join tableA in tableAs on someid equals anotherid into tableC
from tableD in tableC.DefaultIfEmpty()
select new { etc.. }
修改中的,如下所示:
tableC.Where(c => !string.IsNullOrEmpty(mySTRINGVAR) && c.tablefield == mySTRINGVAR)
但是,如果我的
mySTRINGVAR为null或空:
var records = from school in schools
join tableA in tableAs on someid equals anotherid into tableC
from tableD in tableC.DefaultIfEmpty()
select new { etc.. }
修改中的,如下所示:
tableC.Where(c => !string.IsNullOrEmpty(mySTRINGVAR) && c.tablefield == mySTRINGVAR)
您是否知道,没有扩展方法defaultifempty
?这就是问题所在吗?defaultifempty
与defaultifempty
不同。您遇到了什么错误,或者什么不正常?很抱歉,我使用的是DefaultIfEmpty:)我已经编辑了我的代码。您是否知道,没有扩展方法DefaultIfEmpty
?这就是问题所在吗?defaultifempty
与defaultifempty
不同。你得到了什么错误,或者什么工作不正常?很抱歉,我使用的是DefaultIfEmpty:)我已经编辑了我的代码。这不是类似于Where(c=>string.IsNullOrEmpty(c.tablefield))
?@king,那么c.tablefield==mySTRINGVAR
的比较应该是!string.IsNullOrEmpty(mySTRINGVAR)
@Kaf,我就是这么做的,但是在读了语句后修改了它,你是对的,我想它应该是
一个问题:这个方法不是在检查每个记录的mySTRINGVAR
是否为IsNullOrEmpty
吗?这与Where(c=>string.IsNullOrEmpty(c.tablefield))
类似吗?@KingKing,c.tablefield==mySTRINGVAR
的比较应该是!string.IsNullOrEmpty(mySTRINGVAR)
@Kaf,我就是这么做的,但是在读了语句后修改了它,你是对的,我想它应该是
一个问题:这个方法不是在检查每个记录的mySTRINGVAR
是否为IsNullOrEmpty
?