Entity framework 具有多个数据库的asp.net mvc实体框架

Entity framework 具有多个数据库的asp.net mvc实体框架,entity-framework,entity-framework-4,asp.net-mvc-4,edmx,edmx-designer,Entity Framework,Entity Framework 4,Asp.net Mvc 4,Edmx,Edmx Designer,我有一个使用EF的ASP.NETMVC项目。我在工作电脑和家用电脑上开发这个应用程序。下面是我的Web.config文件。如何使用每个办公室的正确连接字符串更改EDMX?到目前为止,我必须删除EDMx并重新添加它们,并注释掉其他连接字符串。谢谢 <connectionStrings> <clear/> <!-- At Home connections --> <add name="App1Entities" connect

我有一个使用EF的ASP.NETMVC项目。我在工作电脑和家用电脑上开发这个应用程序。下面是我的Web.config文件。如何使用每个办公室的正确连接字符串更改EDMX?到目前为止,我必须删除EDMx并重新添加它们,并注释掉其他连接字符串。谢谢

    <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>


假设两个数据库中的模式相同,只需替换web.config中的连接字符串即可。因此,我真的不明白您的困惑是什么。

使用Visual Studio,您可以根据在Configuration Manager中选择的模式(“发布”和“调试”默认设置,您可以添加其他设置)来生成不同的配置设置

为连接字符串设置转换,然后当您将站点发布到发布模式时,正确的连接字符串将在其中


为“Home”或其他内容添加一个模式,并根据您在家中的环境使用适当的连接字符串。

您需要多个连接字符串,但不必在代码中设置开关;使用

<connectionStrings configSource="MyLocalConnectionStrings.config" />

您需要在与web.config相同的目录中维护MyLocalConnectionStrings.config,并且每个开发环境都有不同的版本