Linq to sql Where子句中的Linq to Sql为空
如果Sessions.Current.AdminProductId为null,是否可以忽略Where子句?我想将下面的代码优化为一行代码Linq to sql Where子句中的Linq to Sql为空,linq-to-sql,Linq To Sql,如果Sessions.Current.AdminProductId为null,是否可以忽略Where子句?我想将下面的代码优化为一行代码 if (Sessions.Current.AdminProductId == null) gvUsers.DataSource = DataAccess.Instance.Users; else gvUsers.DataSource = DataAccess.Instance.Users.Where(p => p.Orders.Any(o =&g
if (Sessions.Current.AdminProductId == null)
gvUsers.DataSource = DataAccess.Instance.Users;
else
gvUsers.DataSource = DataAccess.Instance.Users.Where(p => p.Orders.Any(o => o.ProductId == Sessions.Current.AdminProductId));
只需在where子句中添加空检查,如下所示:
gvUsers.DataSource = DataAccess.Instance.Users.Where(p => (Sessions.Current.AdminProductId == null) || (Sessions.Current.AdminProductId != null && p.Orders.Any(o => o.ProductId == Sessions.Current.AdminProductId)));
此代码有什么问题?不需要第一个空检查
(Sessions.Current.AdminProductId==null)
。