0

我有一个使用 EF 的 ASP.Net MVC 项目。我在工作计算机和家用计算机上开发此应用程序。以下是在我的 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>
4

3 回答 3

1

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

于 2012-10-11T05:28:16.740 回答
0

使用 Visual Studio,您可以使用Config Transforms根据在 Configuration Manager 中选择的模式(默认设置“Release”和“Debug”,您可以添加其他)生成不同的配置设置。

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

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

于 2012-10-11T05:42:22.483 回答
0

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

<connectionStrings configSource="MyLocalConnectionStrings.config" />

见 MSDN

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

于 2012-10-11T05:45:05.647 回答