Entity Framework - Incluir múltiples niveles de propiedades

El método Include () funciona bastante bien para listas en objetos. Pero ¿y si necesito profundizar dos niveles? Por ejemplo, el método a continuación devolverá ApplicationServers con las propiedades incluidas que se muestran aquí. Sin embargo, ApplicationsWithOverrideGroup es otro contenedor que contiene otros objetos complejos. ¿Puedo hacer un Include () en esa propiedad también? ¿O cómo puedo conseguir que la propiedad se cargue por completo?

Tal como está ahora, este método:

public IEnumerable<ApplicationServer> GetAll()
{
    return this.Database.ApplicationServers
        .Include(x => x.ApplicationsWithOverrideGroup)                
        .Include(x => x.ApplicationWithGroupToForceInstallList)
        .Include(x => x.CustomVariableGroups)                
        .ToList();
}

Rellenará solo la propiedad Enabled (abajo) y no las propiedades Application o CustomVariableGroup (abajo). ¿Cómo puedo hacer que esto suceda?

public class ApplicationWithOverrideVariableGroup : EntityBase
{
    public bool Enabled { get; set; }
    public Application Application { get; set; }
    public CustomVariableGroup CustomVariableGroup { get; set; }
}

Respuestas a la pregunta(7)

Su respuesta a la pregunta