簡體   English   中英

如何更改Entity Framework Core 2.2中的ILazyLoader實現?

[英]How do I change the ILazyLoader implementation in Entity Framework Core 2.2?

我在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並沒有更改,我需要更改以進行更改嗎?

刪除前兩行

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

並在AddDbContext構建器操作中設置與EFC相關的內容。

builder.UseSqlServer將在內部做AddEntityFrameworkSqlServer()更換 ILazyLoader 服務 ,使用-好, ReplaceService方法:

services.AddDbContext<ModelContext>(builder =>
{
    builder.ReplaceService<ILazyLoader, MyLazyLoader>();
    // ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM