У меня есть 3 базы данных DBDev, DBStaging и DBProduction. В моем приложении я создал 3 edmx для каждой БД. Каждая БД имеет соответствующий объект следующим образом: DBDev -> DEVEntities, DBStaging -> StagingEntities или DBProduction -> ProductionEntitiesКак указать на Entity Framework DB Контекст для разных сред
выбрать, какой DB Я хочу получить доступ через это в web.config:
<connectionStrings configSource="Configs\DBDev.config" /> <!-- or DBStaging or DBProduction-->
I проложите весь мой доступ к БД одному статическому классу: DBAccess. Когда мне нужно указать на конкретный контекст, я вручную сделать это:
private static DEVEntities db = new DEVEntities();
или
private static StagingEntities db = new StagingEntities();
или
private static ProductionEntities db = new ProductionEntities();
Что более умный способ указать на желаемом контексте без необходимости вручную его менять?
Есть ли причина, по которой вы используете три разных edmx? Являются ли схемы разными? –
Нет, они одинаковы. Я хотел использовать файлы конфигурации, потому что каждая среда имеет разные значения строки подключения: источник данных Начальный каталог user id пароль Я не знал, как это сделать, кроме как создать разные edmx. Если бы я только создал один edmx, как бы я мог бы отправлять значения этих разных значений? – user1019042
И почему у вас есть статические контексты? Вероятность 99,9% - это плохая идея. –