Я разрабатываю вспомогательную библиотеку для EF Core , и в настоящее время она работает, предоставляя собственный класс DbContext
, но я хочу добавить способ использовать его без специального базового класса.Я могу добиться этого, унаследовав от StateManager и указав EF использовать мою реализацию для IStateManager
.
Я нашел два варианта указания EF использовать мою реализацию:
Первый просто вызывает DbContextOptionsBuilder.ReplaceService Method .
Второй способ - привести DbContextOptionsBuilder
к IDbContextOptionsBuilderInfrastructure
, вызвать AddOrUpdateExtension
, передать экземпляр IDbContextOptionsExtension
и в ApplyServices
вызов метода ServiceCollectionServiceExtensions.AddScoped
.
Какой из этих двух вариантов является предпочтительным?Есть ли разница между этими двумя подходами?