Linq to Sql является нулевым в предложении Where - PullRequest
0 голосов
/ 09 января 2012

Можно ли игнорировать предложение Where, если Sessions.Current.AdminProductId имеет значение null?Я хотел бы оптимизировать код ниже в одну строку кода.

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));

1 Ответ

2 голосов
/ 10 января 2012

Вам просто нужно добавить нулевую проверку в предложении 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)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...