我有一个使用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="data source=my-pc\SqlExpress;initial catalog=App1Database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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="data source=my-pc\SqlExpress;initial catalog=ServiceDatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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="data source=sqlServer1;initial catalog=App1Database;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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="data source=sqlServer2;initial catalog=ServiceDatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
-->
</connectionStrings>
答案 0 :(得分:1)
假设这两个数据库中的模式相同,那么只需更换web.config中的连接字符串即可。所以我真的不明白你的困惑是什么。
答案 1 :(得分:0)
使用Visual Studio,您可以使用Config Tranforms根据模式生成不同的配置设置(默认设置为“Release”和“Debug”,您可以添加其他设置)。
为连接字符串设置转换,然后当您将站点发布到Release模式时,正确的连接字符串将在那里。
为“Home”或其他内容添加一个模式,并在家中为您的环境提供适当的连接字符串。
答案 2 :(得分:0)
您需要多个连接字符串,但不必在代码中添加开关;使用
<connectionStrings configSource="MyLocalConnectionStrings.config" />
您需要在与web.config相同的目录中维护MyLocalConnectionStrings.config,并为每个开发环境使用不同的版本。