启用 EF Core 延迟加载需安装 Microsoft.EntityFrameworkCore.Proxies 包,实体导航属性标记为 virtual,并在 DbContext 配置中调用 UseLazyLoadingProxies(),即可实现访问时自动加载关联数据。

在 C# 中使用 EF Core 的延迟加载(Lazy Loading),需要通过配置代理来实现。延迟加载意味着导航属性在首次访问时才从数据库中加载,而不是在主查询时一并加载。
要使用延迟加载代理,必须满足以下几点:
这是 EF Core 官方提供的代理生成包,用于支持延迟加载功能。
确保你的导航属性(如集合或引用类型)标记为 virtual,这样代理才能重写它们以实现延迟加载。
public class Blog在 OnConfiguring 或 Startup.cs(ASP.NET Core)中配置上下文时,使用 UseLazyLoadingProxies() 方法。
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)如果你使用依赖注入(如 ASP.NET Core),可以在 Program.cs 或 Startup.cs 中这样配置:
builder.Services.AddDbContext<YourContext>(options =>现在你可以像平常一样查询实体,导航属性会在访问时自动加载。
using var context = new YourContext();基本上就这些。只要装对包、设对 virtual、开对选项,EF Core 的延迟加载代理就能自动工作。
以上就是C#中如何使用EF Core的查询延迟加载代理?如何启用?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号