Также отлично работает для не-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);
        }
    }

Спасибо, парни.

Ответы на вопрос(2)

Ваш ответ на вопрос