У меня есть следующая конфигурация:
builder.Register<EntityContext>().As(
c=> {
var entityCtx = new EntityContext();
//snip snip: some config stuff
return entityCtx;
}).As<MyDbContext>().InstancePerLifetimeScope();
EntityContext
явно наследуется от MyDbContext
, который снова наследуется от DbContext
.
В конструкторе моего репозитория я обычно использую их как
...
public MyRepository(MyDbContext context) {...}
Это гарантирует, что один ctx на запрос http , что я и хочу. Но теперь мне нужно, чтобы для конкретного репозитория я хотел иметь другой экземпляр EntityContext, чем обычно используется.
Как бы вы этого достигли? Мне пришло в голову следующее:
- Еще один конфиг, где я использую
Register<EntityContext>()....As<DbContext>()...
Есть еще идеи?