LazyLoadingEnabled se establece específicamente en true para evitar que las entidades relacionadas se carguen en el contexto que estoy usando.DBContext lazyloadingenabled establecido en true todavía carga entidades relacionadas de forma predeterminada
Una clase de medicamento tiene una lista de objetos con identidad de fármaco.
public class Drug
{
public virtual List<DrugIdentity> DrugIdentities { get; set; }
}
Una configuración específica para la clase establece la clave y tiene una gran relación si deseo incluir la entidad relacionada a cargar.
public DrugConfiguration()
{
this.HasKey(d => d.DrugID);
this.HasMany(d => d.DrugIdentities).WithOptional(d => d.Drug).Map(d => d.MapKey("DrugID"));
}
Cuando el contexto de Drogas se carga mediante una consulta linq el objeto muestra que contiene DrugIdentities relacionados cuando no debe.
context.Configuration.LazyLoadingEnabled = true;
var drugs = from d in context.Drug
where d.Active == true
select d;
drogas [0] .DrugIdentities Count = 1
que esperaría drogas [0] .DrugIdentities a la igualdad de NULL desde lazy loading estaba en true?
Parece que no entiende bien la carga diferida como lo opuesto a lo que realmente es. La carga lenta significa que sus datos ** se ** cargan automáticamente cuando accede a una propiedad de navegación. El ** opuesto ** de esto, carga ansiosa, es cuando obtienes nulos para tus propiedades de relación a menos que las cargues explícitamente (ansiosamente). –