Также отлично работает для не-Boolen полей, например: .Where (x => x.WorkPlaces.Any (y => y.Id == 1))
ользую новое ядро .net и EF.
Мне нужна помощь с командой include linq. У меня есть некоторые модели 1: N, и если коллекция содержит некоторые данные, помеченные как удаленные, я не хочу их включать.
Как это сделать?
var company = await _context.Company
.Include(y => y.Administrators)
.Include(y => y.CompanyPartTimers)
.Include(z => z.WorkPlaces)
.Include(z => z.Requirements)
.FirstAsync(x => x.Id == id);
Если я добавлю условие
.Include(z => z.WorkPlaces).Where(x=>x.WorkPlaces.Where(x=>!x.IsDeleted))
Не работает Как правильно написать это?
Следующее, что у меня есть IDeletable Interface, было бы лучше, если бы у меня было какое-то пользовательское выражение linq, и я мог бы это сделать для ex.
.Include(z => z.WorkPlaces).GetNonDeleted()
Кто-нибудь знает как это делать? Я пробовал что-то подобное
public static class LinqExtension
{
public static IEnumerable<T> GetActive<T>(this IEnumerable<T> source) where T : class, IDeletable
{
return source.Where(x => x.IsDeleted);
}
}
Спасибо, парни.