0

我有一個使用EF的ASP.Net MVC項目。我在工作計算機和家用電腦上開發這個應用程序。以下是我的Web.config。我怎樣才能用每個辦公室的正確連接字符串更改EDMX?到目前爲止,我必須刪除EDMX並重新添加它們並註釋掉其他連接字符串。謝謝。有多個數據庫的asp.net mvc實體框架

<connectionStrings> 
    <clear/> 
    <!-- At Home connections --> 
    <add name="App1Entities" connectionString="metadata=res://*/Models.App1Model.csdl|res://*/Models.App1Model.ssdl|res://*/Models.App1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=my-pc\SqlExpress;initial catalog=App1Database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    <add name="Service1Entities" connectionString="metadata=res://*/Models.Service1Model.csdl|res://*/Models.Service1Model.ssdl|res://*/Models.Service1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=my-pc\SqlExpress;initial catalog=ServiceDatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

    <!-- At Work connections 
    <add name="App1Entities" connectionString="metadata=res://*/Models.App1Model.csdl|res://*/Models.App1Model.ssdl|res://*/Models.App1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=sqlServer1;initial catalog=App1Database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    <add name="Service1Entities" connectionString="metadata=res://*/Models.Service1Model.csdl|res://*/Models.Service1Model.ssdl|res://*/Models.Service1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=sqlServer2;initial catalog=ServiceDatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    --> 
</connectionStrings> 

回答

0

您需要多個連接字符串,但不必在代碼中放置一個開關;使用

<connectionStrings configSource="MyLocalConnectionStrings.config" /> 

see MSDN

你需要保持MyLocalConnectionStrings.config在同一目錄的web.config文件,併爲每個開發環境不同的版本。

1

假設模式在兩個數據庫中是相同的,它應該只是在web.config中替換連接字符串的問題。所以我真的不明白你的困惑是什麼。

0

使用Visual Studio,您可以使用Config Tranforms根據配置管理器中選擇的模式(「發佈」和「調試」是默認設置,您可以添加其他設置)生成不同的配置設置。

設置連接字符串的轉換,然後當您將站點發布到發佈模式時,正確的連接字符串將位於此處。

爲家庭添加適合家庭環境的適當連接字符串,以添加「家庭」或某物的模式。

相關問題