.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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta