如何更改Entity Framework Core 2.2中的ILazyLoader实现?

时间:2018-12-31 14:32:09

标签: c# asp.net-core entity-framework-core

我在Startup.cs中创建了一个ASP.NET Core 2.2应用程序:

services.AddEntityFrameworkSqlServer();
services.AddScoped<ILazyLoader, MyLazyLoader>();

services.AddDbContext<ModelContext>(builder =>
{
    builder.UseLazyLoadingProxies();
    builder.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
    var options = builder.Options;
    services.AddSingleton(options);
});

但是lazyloader并没有更改,我需要更改以进行更改吗?

1 个答案:

答案 0 :(得分:4)

删除前两行

services.AddEntityFrameworkSqlServer();
services.AddScoped<ILazyLoader, MyLazyLoader>();

并在AddDbContext构建器操作中设置与EFC相关的内容。

builder.UseSqlServer将在内部进行AddEntityFrameworkSqlServer(),并且要替换 ILazyLoader 服务,请使用-{{1} }方法:

ReplaceService