Entity Framework 7 В тесте памяти с перехватчикомC#

Место общения программистов C#
Ответить
Гость
 Entity Framework 7 В тесте памяти с перехватчиком

Сообщение Гость »


Я решил попробовать новые перехватчики, входящие в состав 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);
});
}
I don't know how else I could build the ISingletonInterceptor services.
Thank you for any answers


Источник: https://stackoverflow.com/questions/781 ... nterceptor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»