Я настраиваю проект ASP.NET Core и следую шаблону CQRS, основываясь на своей работе над проектом Tripod. Я следовал руководству по интеграции Simple Injector, но один момент немного озадачен... Я хочу продолжать использовать опцию UseInMemoryDatabase для тестирования и могу найти примеры этого только с помощью Core DI AddDbContext метод.
Мой DbContext реализует несколько интерфейсов:
public class EntityDbContext : DbContext,
IUnitOfWork,
IReadEntities,
IWriteEntities
{
// code here
}
Я делаю это в методе Startup.ConfigureServices:
services.AddDbContext(options => options.UseInMemoryDatabase("Snoogans"));
и следуя инструкциям по интеграции SI, проведите это в методе Startup.Configure:
container.Register();
container.Register();
container.Register();
Смогу ли я получить регистрацию ядра через перекрестное соединение для подключения к цели для каждого из них или мне следует просто зарегистрировать контекст непосредственно в SI?
==
Я экспериментирую с оригинальной концепцией от Tripod:
var contextRegistration =
lifestyle.CreateRegistration(container);
container.AddRegistration(typeof(EntityDbContext), contextRegistration);
container.AddRegistration(typeof(IUnitOfWork), contextRegistration);
container.AddRegistration(typeof(IWriteEntities), contextRegistration);
container.AddRegistration(typeof(IReadEntities), contextRegistration);
пытаюсь сделать все с помощью SI, но не знаю, как мне получить регистрацию для трех интерфейсов:
container.Register(() =>
{
var optionsBuilder =
new DbContextOptionsBuilder().UseInMemoryDatabase("Snoogans");
return new EntityDbContext(optionsBuilder.Options);
});
container.AddRegistration(xxxx);
container.AddRegistration(xxxx);
container.AddRegistration(xxxx);
Подробнее здесь: https://stackoverflow.com/questions/552 ... -dbcontext
ASP.NET Core DI с общим доступом к DbContext с помощью Simple Injector ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как преобразовать RegisterDecorator из Simple Injector в IServiceCollection .NET Core?
Anonymous » » в форуме C# - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-