c# - 如何在应用程序启动时更改 Entity Framework 5 中的 ConnectionString

标签 c# entity-framework

我在 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/

相关文章:

c# - 如何在 C# Windows 窗体中修复 ListView 的列宽?

c# - 让我所有的方法都需要 https 是个好主意吗?

c# - Entity Framework - 停止按需延迟加载相关实体?

oracle - 无法在 Entity Framework 中映射 SYS_REFCURSOR

entity-framework - ExecuteStoreQuery 返回多行如何将其放入 IList 或 List

c# - LINQ 中导航属性查询的 ArgumentException

c# - 如何阻止 Entity Framework 尝试保存/插入子对象?

c# - 我应该使用哪个 VMware API?

c# - Fluent API EF 继承和映射

c# - 如何从 "Include"表中过滤?