Непонятное что-то с LINQ в цикле for - C#

Узнай цену своей работы

Формулировка задачи:

Всех приветствую. Есть глобальная переменная в которую UnionAdd собирает результаты из запроса db.Footwears.Where если делаю так то в результате не Union двух запросов или трех а последний результат
if (Model.Check3 && Model.SeasonsID.Count() > 0)
                {
                    int nextId;
                    for (int i = 0; i < Model.SeasonsID.Count(); i++)
                    {
                        nextId = Model.SeasonsID[i];
                        UnionAdd(db.Footwears.Where(p => p.SeasonsID == nextId)); 
                    }
 }
если делаю так, то в Union все отлично, только 1-2-3 меня не совсем устраивает.
if (Model.Check3 && Model.SeasonsID.Count() > 0)
{
UnionAdd(db.Footwears.Where(p => p.SeasonsID == 1)); 
UnionAdd(db.Footwears.Where(p => p.SeasonsID == 2)); 
UnionAdd(db.Footwears.Where(p => p.SeasonsID == 3)); 
}
Что делаю не так ? Надо чтобы была возможность перебирать nextId

Решение задачи: «Непонятное что-то с LINQ в цикле for»

textual
Листинг программы
from p in db.Footwears
 where Model.SeasonsID.Contains(p.SeasonsID)
 select p);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5