1

任何人都可以建議如何編程切換調試和活連接字符串?連接字符串 - MVC實體框架 - 數據庫優先

我見過其他人通過一個EntityConnection給構造從控制器這樣的:

private XYZDatabase db = new XYZDatabase(ConfigurationManager. 
ConnectionStrings["XYZDatabase-TEST"].ConnectionString); 

,但它仍然需要手動更改呢?有沒有辦法使用

System.Net.Dns.GetHostName()或類似的 自動切換它?

感謝

回答

0

在我的軟件,我只是有相同的名字在我的app.config和註釋2個連接字符串/取消註釋方式之間切換。

另一種方法是您可以在您的解決方案(.asax文件?)中創建一個靜態屬性,並在您獲取ConnectionStrings時使用它在XYZDatabase-TEST和XYZDatabase之間進行交換。

0

連接字符串添加到Web.config,如:

<connectionStrings> 
    <add name="XYZDatabase-TEST" connectionString="Server=.\SQLEXPRESS;Database=XYZDatabase-TEST";integrated security=SSPI;" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

然後打開你Web.Release.config並添加

<connectionStrings> 
    <add name="XYZDatabase-TEST" 
     connectionString="Data Source=OTHERSERVER;Initial Catalog=XYZDatabase-TEST;Persist Security Info=True;User ID=sa;Password=password" providerName="System.Data.SqlClient" 
     xdt:Transform="SetAttributes" 
     xdt:Locator="Match(name)"/> 
</connectionStrings> 

現在,每次你將你發佈應用到部署服務器使用版本配置它將使用來自web.rel的連接字符串ease.config

請注意,在您調試時,此轉換在本地不起作用。您必須發佈才能運行web.config轉換。

相關問題