.NET CORE 2 EF Incluye
Estoy usando el nuevo .net core y EF.
Necesito ayuda con el comando include linq. Tengo algunos modelos 1: N y si la colección contiene algunos datos marcados como eliminados, no quiero incluirlos.
¿Cómo hacerlo?
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);
Si agrego la condición
.Include(z => z.WorkPlaces).Where(x=>x.WorkPlaces.Where(x=>!x.IsDeleted))
No funciona ¿Cómo escribir esto correctamente?
Lo siguiente es que tengo una interfaz IDeletable y sería mejor si tuviera alguna expresión de linq personalizada y pudiera hacerlo por ej.
.Include(z => z.WorkPlaces).GetNonDeleted()
Alguien sabe como hacerlo? Intenté algo como esto
public static class LinqExtension
{
public static IEnumerable<T> GetActive<T>(this IEnumerable<T> source) where T : class, IDeletable
{
return source.Where(x => x.IsDeleted);
}
}
Gracias chicos.