Как изменить реализацию ILazyLoader в Entity Framework Core 2.2? - PullRequest
0 голосов
/ 31 декабря 2018

Я создал приложение ASP.NET Core 2.2, в Startup.cs У меня есть это:

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 голосов
/ 31 декабря 2018

Удалите первые две строки

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

и настройте материал, связанный с EFC, внутри действия AddDbContext строитель.

builder.UseSqlServer выполнит внутренне AddEntityFrameworkSqlServer(), а на заменит ILazyLoader сервис , использование - хорошо, ReplaceService метод:

services.AddDbContext<ModelContext>(builder =>
{
    builder.ReplaceService<ILazyLoader, MyLazyLoader>();
    // ...
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...