【发布时间】:2019-04-26 22:10:01
【问题描述】:
查看文档
https://docs.microsoft.com/en-us/ef/core/querying/related-data
如果您使用现有的 Db 方法并且想要使用延迟加载,那么您是否必须手动将每个实体编辑为您想要用作相关实体的虚拟实体,这一点并不明显。真的吗?我错过了什么吗?
没有其他方法可以使用现有的 Db 和延迟加载吗?
我尝试了使用代理的方法,但是脚手架工具没有将相关实体标记为虚拟。
【问题讨论】:
查看文档
https://docs.microsoft.com/en-us/ef/core/querying/related-data
如果您使用现有的 Db 方法并且想要使用延迟加载,那么您是否必须手动将每个实体编辑为您想要用作相关实体的虚拟实体,这一点并不明显。真的吗?我错过了什么吗?
没有其他方法可以使用现有的 Db 和延迟加载吗?
我尝试了使用代理的方法,但是脚手架工具没有将相关实体标记为虚拟。
【问题讨论】:
无需手动编辑每个实体。
DbContext 脚手架命令将所有导航属性生成为virtual,因此它们已“准备好”用于lazy loading via proxies。
因此,要使用它,您只需按照文档中的说明激活它
使用延迟加载的最简单方法是安装 Microsoft.EntityFrameworkCore.Proxies 包并通过调用
UseLazyLoadingProxies启用它
【讨论】: