EntityFramework Core延迟加载(LazyLoad)

1、延迟加载介绍

延迟加载又叫惰性加载(Lazy Loading):即在需要或者使用的时候加载数据。

此功能是在EF Core 2.1中引入的。

2、使用延迟加载

2.1 使用 Microsoft.EntityFrameworkCore.Proxies

直接重写OnConfiguring方法配置UseLazyLoadingProxies()

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    => optionsBuilder
        .UseLazyLoadingProxies()
        .UseSqlServer(myConnectionString);

或者在Configing方法中添加

services.AddDbContext<UserContext>(
    b => b.UseLazyLoadingProxies()
          .UseSqlServer(connectionString));
2.2使用ILazyLoader注入到构造中
  • 定义实体,并构造注入ILazyLoader
public class Blog
{
   
    private ICollection<Post> _posts;
    public Blog()
    {
   
    }
    private Blog(ILazyLoader lazyLoader)
    {
   
        LazyLoader = lazyLoader;
    }
    private ILazyLoader LazyLoader {
    get; set; }
    public int Id {
    get; 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值