asp.net - web.config 和 app.config 中不同 Entity Framework 连接字符串的问题

标签 asp.net entity-framework configuration connection-string

我的解决方案有两个项目。一个类库,用于通过存储库类从 Entity Framework .edmx 文件生成数据。 App.Config 文件 connectionString 与我的第二个 ASP.Net 4.0 Web 表单项目中的 Web.config 匹配。

当部署到测试服务器时,我修改两个连接字符串以指向测试数据库 (DataSource=TestDB)。当部署到实时站点时,我将两者修改为指向实时数据库 (DataSource=LiveDB)。

在 Site.Master 的顶部,我在标签控件中以红色字母显示“您已连接到 TEST 数据库”。我有条件地切换标签的 .Visible 属性 if (context.Connection.DataSource.Contains("TestDB"))

在开发过程中我注意到一些奇怪的事情。当 Web.config 指向 TestDB 时,如果我忘记使 App.config 匹配(并且它指向 LiveDB),则会出现“已连接到 TEST”警告,但会显示来自 LiveDB 的数据。

这告诉我存储库(类库)使用 App.Config,但在 Web 表单项目中创建的数据上下文使用 Web.config 连接字符串。那是对的吗?我担心如果我部署到测试站点并忘记将 App.Config 指向 TestDB,实时数据将被错误更新。

所以我的问题是,在这种情况下...显示始终准确的“连接到测试数据库”通知的最佳方式是什么?

最佳答案

默认情况下,类库不会使用任何 app.config 文件。

它将使用使用它的应用程序上下文中的 .config 文件 - 对于 Web 应用程序,该文件将是 web.config 文件.

关于asp.net - web.config 和 app.config 中不同 Entity Framework 连接字符串的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007053/

相关文章:

asp.net - CheckBoxList 多选 : difficulty in model bind back

c# - 从控制台应用程序在 ASP.Net Forms Authorization 网站上进行身份验证

asp.net-mvc - 在同一数据库中使用多个上下文发布

c# - 如何在传递时修改 DbContext 基本构造函数参数?

c# - 没有为一个或多个必需参数提供值 ERROR

asp.net-mvc - 在调试器问题 "Children could not be evaluated"错误中枚举 EF6 中的 IEnumerable

.net - EF 查询包含 "Distinct()"第一次慢

spring - 在spring配置文件中设置资源

configuration - 我可以强制我的 reducer (复制阶段)仅在所有映射器完成时启动吗

postgresql - 无法使 log_min_duration_statement 起作用