我在ASP.NET Web Forms应用程序(4.5)上使用EF5数据库优先使用测试和prod数据库服务器(相同的模式).有没有办法在global.asax的Application_Start中动态设置目标连接字符串?因此,当我在测试服务器上时,使用“test”连接字符串,当我在prod服务器上时,使用“prod”连接字符串.
解决方法
你看过
http://msdn.microsoft.com/en-us/library/gg679467%28v=vs.103%29.aspx了吗?
DbContext(字符串连接)?
DbContext(字符串连接)?
ObjectContext的:
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.使用entity-connection,您可以基于已有的经典DbConnection创建ObjectContext.