Методы расширения linq: есть ли способ добавить предложение OR в метод where - PullRequest
0 голосов
/ 11 января 2010

У меня есть такой статус:

foreach (var container in modelEntities.
   Where(me => me.Value.ModelEntityType == (int)EntityType.Container))

Теперь я хочу добавить к этому предложению where предложение or, но, похоже, не могу этого сделать.

Есть ли способ? или я должен сделать

var containers = (from me in modelEntities
   where me.Value.ModelEntityType == (int)EntityType.Container ||
   me.Value.ModelEntityType == (int)EntityType.SubForm
   select me);

foreach (var container in containers)

Ответы [ 2 ]

3 голосов
/ 11 января 2010

Вы можете просто добавить или к первой форме:

foreach (var container in modelEntities.
    Where(me => me.Value.ModelEntityType == (int)EntityType.Container ||
      me.Value.ModelEntityType == (int)EntityType.SubForm))
0 голосов
/ 11 января 2010

добавить все опции в список и запросить этот список.

var options = new [] {(int)EntityType.Container, (int)EntityType.SubForm};

var containers = modelEntities.Where(m => options.Contains(m.Value.ModelEntityType));
...