【发布时间】:2022-01-04 20:20:19
【问题描述】:
lazy loading without proxies 上的 EF Core 文档引用了此示例:
public class Blog
{
private ICollection<Post> _posts;
public Blog()
{
}
private Blog(ILazyLoader lazyLoader)
{
LazyLoader = lazyLoader;
}
private ILazyLoader LazyLoader { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Post> Posts
{
get => LazyLoader.Load(this, ref _posts);
set => _posts = value;
}
}
所以我们有一个无参数构造函数和惰性加载器注入构造函数。文档然后说:
此方法不需要继承实体类型或 导航属性是虚拟的,并允许实体实例 附加到上下文后,使用 new to lazy-load 创建。
那么这对于新实例究竟意味着什么?由 EF 核心创建的实体将注入惰性加载程序,但 new 实体不会。这是否意味着一旦将新项目添加到上下文中,惰性加载器支持字段应该得到更新?
【问题讨论】:
标签: c# entity-framework-core lazy-loading