Моя структура базы данных (домен, данные и услуги) такая же, как: Это приложение (MyFinance на CodePlex)
Проблема в том, что у меня есть 2 контекста базы данных (1MyMasterContext) и 1 MySlaveContext.
И предположим, что MySlaveContext всегда может быть другой базой данных / имя_поставщика / сервером.(Я знаю, что Entity Framework поддерживает только MS SQL Server в EF 4.1). MyMasterContext ВСЕГДА остается тем же, именно здесь сохраняются все пользовательские строки подключения.
Таким образом, моя строка подключения всегда может измениться, когда я обращаюсь к MySlaveContext, в зависимости отна котором пользователь вошел в систему.
В текущей ситуации MyMasterContext всегда генерируется автоматически при его использовании, как и MySlaveContext.
Теперь мне нужно добавить поддержку "динамического соединения", единственная проблема в том, что я не знаю, где добавить эту функцию ...
Я уже реализовал ConnectionString в своем UserIdentity (UserData), поэтому он всегда доступен при выполнении:
DirectCast(User.Identity,MyCustomUserIdentity).ConnectionString
То же самое с ProviderName.
Кроме того, мои DataBaseFactory и UnitOfWork "дублированы", потому что у меня есть один для ведущего и один для ведомого (просто чтобы быть уверенным).
Может кто-нибудь помочь мне, как добавить поддержку "ConnectionString-обнаружения"?
Я думал, что мог бы добавить этокак PropertyInjection или ParameterInjection в Unity, но у меня нет достаточного опыта в этой области, чтобы знать, что это правильно или как это сделать:)
Заранее спасибо всем, кто мог бы привести меня на правильный путь:)