我正在開發一個使用實體框架的asp.net mvc Web應用程序。同樣的應用程序應該爲不同的客戶端部署在Intranet模型中。如何使用Windows身份驗證在運行時管理連接字符串
我的應用程序從客戶端數據庫獲取數據,這些客戶端數據庫的結構完全相同,但每個客戶端的數據都不相同,這就是爲什麼我必須在運行時修改連接字符串以匹配客戶端環境(數據庫名稱和服務器名稱)。除此之外,我的網絡應用程序使用Windows身份驗證連接到數據庫。
<connectionStrings>
<add name="LK_Entities" connectionString="metadata=res://*/DAL.Model1.csdl|res://*/DAL.Model1.ssdl|res://*/DAL.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=LKSERVER\SQLSERVER2005;initial catalog=LK_2014;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
我想知道的是怎麼可能修改運行時的連接字符串知道用戶需要輸入服務器名稱和數據庫名稱,一旦應用程序運行?而且,如何集成Windows身份驗證來連接到數據庫?
爲什麼你不能有多個連接字符串,並選擇一個你想在運行時使用的並作爲參數傳遞給你的dbContext。 – Shaz
或者在代碼中構建連接字符串,然後將其傳遞到數據上下文中。構造函數接受名稱或連接字符串。 –
@Shaz我無法定義連接字符串,因爲它取決於客戶端輸入BD名稱和服務器名稱。 – Selim