Я использую Entity Framework (сначала код), репозитории и шаблон единиц работы, в основном, как описано здесь: Entity Framework 4 CTP 4 / CTP 5 универсальный шаблон репозитория и тестируемый модуль
Я также использую StructureMap для управления экземплярами своего объекта, и у меня есть некоторый код, подобный этому, для соединения EF dbcontext и единицы работы:
For<DbContext>().HybridHttpOrThreadLocalScoped().Use<MyDbContext>();
For<IUnitOfWork>().HybridHttpOrThreadLocalScoped().Use<UnitOfWork>();
У меня также есть универсальный Repository<T>
, которыйв настоящее время знает об экземпляре MyDbContext
.Теперь мне нужно иметь возможность поддерживать несколько баз данных и, следовательно, несколько DbContexts.Я рассматриваю попытку изменить IUnitOfWork
вместо IUnitOfWork<T>
, где T - это DbContext
для использования.Но моему хранилищу также нужно будет знать, какой DbContext
использовать, поэтому я должен сделать его дважды универсальным (например, Repository<TEntity,TDbContext>
)?
Какой самый лучший и простой способ поддержки нескольких баз данных с использованиемЯ использую шаблон UnitOfWork?