Как фильтровать несколько внутри списка с помощью LINQ ⇐ C#
-
Anonymous
Как фильтровать несколько внутри списка с помощью LINQ
У меня есть модель StudentModel и список свойств санкций
публичный класс StudentModel { общественные санкции List {get; набор; } = новый список(); } А это моя UserSanctionModel
публичный класс UserSanctionModel { общественный ИНТ SanctionId {получить; набор; } } И это модель param
Параметр публичного класса { общественный список Санкции Санкции { get; набор; } = новый(); // список санкций быть фильтром } Я пробовал этот код, но не вернул никаких значений
студенты = студенты. Где(s => param.Sanctions.Any( sanc => s.Sanctions.Any( s => s.SanctionId == sanc.SanctionId))) .К списку(); param.Sanctions – список, содержащий идентификаторы санкций, подлежащих фильтрации
EF Core включает полностью работающую версию
List студенты = ждут _context.Students .Include( c => c.Курс) .Include( d => d.Department) .Include(us => us.Sanctions).ThenInclude(s => s.Sanction) .Include( s => s.Section).ToListAsync(); если (параметр.IsSanction) { студенты = студенты. Где(s => param.Sanctions.Any( санк => s.Санкции.Любой( s => s.SanctionId == sanc.SanctionId))) .К списку(); } Модель санкций
Параметр публичного класса { Санкционный идентификатор {получить; набор;} Имя Санкции {получить; набор; } }
У меня есть модель StudentModel и список свойств санкций
публичный класс StudentModel { общественные санкции List {get; набор; } = новый список(); } А это моя UserSanctionModel
публичный класс UserSanctionModel { общественный ИНТ SanctionId {получить; набор; } } И это модель param
Параметр публичного класса { общественный список Санкции Санкции { get; набор; } = новый(); // список санкций быть фильтром } Я пробовал этот код, но не вернул никаких значений
студенты = студенты. Где(s => param.Sanctions.Any( sanc => s.Sanctions.Any( s => s.SanctionId == sanc.SanctionId))) .К списку(); param.Sanctions – список, содержащий идентификаторы санкций, подлежащих фильтрации
EF Core включает полностью работающую версию
List студенты = ждут _context.Students .Include( c => c.Курс) .Include( d => d.Department) .Include(us => us.Sanctions).ThenInclude(s => s.Sanction) .Include( s => s.Section).ToListAsync(); если (параметр.IsSanction) { студенты = студенты. Где(s => param.Sanctions.Any( санк => s.Санкции.Любой( s => s.SanctionId == sanc.SanctionId))) .К списку(); } Модель санкций
Параметр публичного класса { Санкционный идентификатор {получить; набор;} Имя Санкции {получить; набор; } }
Мобильная версия