我尝试禁用延迟加载但它不起作用。有些男生知道我做错了吗?我还将“虚拟”属性定义为非虚拟属性。我在这里遵循了这个教程:qazxsw poi
http://www.entityframeworktutorial.net/lazyloading-in-entity-framework.aspx
无论是否有“virtual”关键字,我都会得到相同的错误(“Category”每次都为NULL):
public partial class DataContext : DbContext
{
public DataContext()
: base("name=DataContext1")
{
this.Configuration.LazyLoadingEnabled = false;
}
public virtual DbSet<Category> Categories { get; set; }
public virtual DbSet<Payment> Payments { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Category>()
.HasMany(e => e.Payments)
.WithRequired(e => e.Category)
.WillCascadeOnDelete(false);
}
}
要关闭特定属性的延迟加载,请不要将其设置为虚拟并关闭上下文中所有实体的延迟加载,只需将其配置属性设置为false即可。
考虑到这一点,似乎您的代码已经关闭了上下文的所有实体的延迟加载。