Я решил попробовать новые перехватчики, входящие в состав Entity Framework 7.
Поэтому я добавил метод OnConfiguring в DbContext.
Код: Выделить всё
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.AddInterceptors(new MaterializationInterceptor());
}
Был сделан вызов ' AddInterceptors», но Entity Framework не создает собственного внутреннего поставщика услуг. Либо разрешите Entity Framework создать поставщика услуг, удалив вызов UseInternalServiceProvider, либо создайте службы ISingletonInterceptor для использования в поставщике услуг перед передачей их в UseInternalServiceProvider.
Вот как я пытаюсь зарегистрировать dbContext в своем тесте
Код: Выделить всё
public void Register(IServiceCollection services)
{
var serviceProvider = new ServiceCollection()
.AddEntityFrameworkInMemoryDatabase()
.AddSingleton()
.BuildServiceProvider();
services.AddDbContext(options =>
{
options.UseInMemoryDatabase(_inMemoryDbIdentifier.DatabaseName, _inMemoryDbIdentifier.InMemoryDatabaseRoot);
options.UseInternalServiceProvider(serviceProvider);
});
}
Thank you for any answers
Источник: https://stackoverflow.com/questions/781 ... nterceptor
Мобильная версия