在我的查询中,我基于RoleId
和获取记录LocationId
,有时用户可能无法通过位置,在这种情况下,我想删除该过滤器并从所有位置获取信息。
目前我正在这样做
if(loc > 0)
{
var myResult = (from x in CSDB.Allocations
join s in CSDB.Managers
on x.ManagerId equals s.Id
Where x.RoleId == 2 && s.LocationId == loc
select new
{
x.name,
x.Date
}).ToList();
}
else
{
var myResult = (from x in CSDB.Allocations
join s in CSDB.Managers
on x.ManagerId equals s.Id
Where x.RoleId == 2
select new
{
x.name,
x.Date
}).ToList();
}
我正在查看是否可以在查询中检查是否loc
为null或不使用if else。
您可以执行以下操作:
Where x.RoleId == 2 && (loc == null || s.LocationId == loc)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句