我在 ASP.NET Web 窗体应用程序 (4.5) 上使用 EF5 数据库优先与测试和生产数据库服务器(相同架构)。有没有办法在 global.asax 的 Application_Start 中动态设置目标连接字符串?因此,当我在测试服务器上时使用“测试”连接字符串,而当我在产品服务器上时使用“产品”连接字符串。
最佳答案
你看了吗http://msdn.microsoft.com/en-us/library/gg679467%28v=vs.103%29.aspx DbContext(字符串连接)?
对象上下文: http://msdn.microsoft.com/en-us/library/bb739017.aspx
请记住,ObjectContext 的连接字符串不是经典的连接字符串,而是更复杂的 EF 连接字符串。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="Database1Entities"
connectionString="metadata=res://*/Model1.csdl
|res://*/Model1.ssdl
|res://*/Model1.msl;
provider=System.Data.SqlClient;provider connection string="
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;
User Instance=True;
MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
另见 http://msdn.microsoft.com/en-us/library/system.data.entityclient.entityconnection.aspx .借助实体连接,您可以基于现有的经典 DbConnection 创建 ObjectContext。
关于c# - 如何在应用程序启动时更改 Entity Framework 5 中的 ConnectionString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936970/