Как я могу переключаться между двумя строками подключения в моем Web.Config (активировать один для DBML) - PullRequest
0 голосов
/ 22 мая 2010

У меня есть две строки подключения (обе в Web.Config: CS_Local и CS_Production) для моего DBML (Linq to SQL).

В моем Global.Asax / Application_Start я запускаю некоторые методы подготовки производства, если запрос не локальный (! HttpContext.Current.Request.IsLocal). В этой части я также хотел бы изменить текущую строку подключения, используемую моим DBML, со стандартного CS_Local на CS_Production.

Как бы я это сделал? Некоторая помощь, пожалуйста ..

1 Ответ

4 голосов
/ 22 мая 2010

Вы можете определить контекст dbml на лету с помощью:

string connectionString = HttpContext.Current.Request.IsLocal ? 
    ConfigurationManager.ConnectionStrings["CS_Local"].ConnectionString :
    ConfigurationManager.ConnectionStrings["CS_Production"].ConnectionString;
yourDataContext = new YourApplicationDataContext(connectionString);
...