gpt4 book ai didi

c# - 当实体是内部时,延迟加载不起作用

转载 作者:行者123 更新时间:2023-11-30 15:19:18 26 4
gpt4 key购买 nike

当实体类是内部类时,可以强制 Entity Framework 延迟加载集合吗?所有代码均以代码优先和流畅的 API 编写。我有这样的情况:

internal class Order
{
public int Id { get; set; }
public ICollection<Operation> Operations { get; set; }
}

internal class Operation
{
public int Id { get; set; }
public int OrderId { get; set; }
public Order Order { get; set; }
}

internal MyContext : DbContext
{
internal DbSet<Order> Orders { get; set; }
internal DbSet<Operation> Operations { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Operation>().HasRequired(x => x.Order)
.WithMany(x => x.Operations)
.HasForeignKey(x=>x.OrderId);
}
}

而且我不明白为什么 Entity Framework 不延迟加载操作集合。我在上下文中有延迟加载 true。可以管理这个吗?

最佳答案

恐怕这是不可能的,public classes 是 EF 创建代理类和启用延迟加载的要求。看看这个msdn page了解更多信息:

A custom data class must be declared with public access.

关于c# - 当实体是内部时,延迟加载不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42206956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com