Inclusão do .NET CORE 2 EF
Estou usando o novo núcleo .net e EF.
Preciso de ajuda com o comando include linq. Eu tenho alguns modelos 1: N e se a coleção contiver alguns dados marcados como excluídos, não quero incluí-los.
Como fazer isso?
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);
Se eu adicionar a condição
.Include(z => z.WorkPlaces).Where(x=>x.WorkPlaces.Where(x=>!x.IsDeleted))
Isso não funciona. Como escrever isso corretamente?
A próxima coisa é que eu tenho interface IDeletable e seria melhor se eu tivesse alguma expressão linq personalizada e pudesse fazer por ex.
.Include(z => z.WorkPlaces).GetNonDeleted()
Alguém sabe como fazer isso? Eu tentei algo assim
public static class LinqExtension
{
public static IEnumerable<T> GetActive<T>(this IEnumerable<T> source) where T : class, IDeletable
{
return source.Where(x => x.IsDeleted);
}
}
Obrigado rapazes.