При запуске модульных тестов и использовании следующего метода в методе AppService [UnitOfWork (IsolationLevel.Serializable)] я получаю следующую ошибку:
Сообщение: System.InvalidOperationException: ошибка, сгенерированная для
предупреждение
«Microsoft.EntityFrameworkCore.Database.Transaction.TransactionIgnoredWarning:
Транзакции не поддерживаются хранилищем в памяти. Увидеть
http://go.microsoft.com/fwlink/?LinkId=800142'. Это исключение может быть
подавлено или зарегистрировано путем передачи идентификатора события
«InMemoryEventId.TransactionIgnoredWarning» в «ConfigureWarnings»
метод в «DbContext.OnConfiguring» или «AddDbContext».
Я изменил код в (добавлен ConfigureWarnings)
private static void RegisterControlCenterDbContext(IIocManager iocManager, IServiceProvider serviceProvider)
{
var builder = new DbContextOptionsBuilder<ControlCenterDBContext.ControlCenterDBContext>();
builder
.UseInMemoryDatabase(Guid.NewGuid().ToString())
.UseInternalServiceProvider(serviceProvider)
.ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning));
iocManager.IocContainer.Register(
Component
.For<DbContextOptions<ControlCenterDBContext.ControlCenterDBContext>>()
.Instance(builder.Options)
//.Configuration()
.LifestyleSingleton()
);
}
Я все еще получаю ошибку, хотя. Где в ASP.NET Boilerplate я должен поставить следующее:
.ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning))