【发布时间】:2012-08-13 23:26:18
【问题描述】:
我的解决方案有两个项目。一个类库,用于通过存储库类从 Entity Framework .edmx 文件生成数据。 App.Config 文件 connectionString 与我的第二个 ASP.Net 4.0 Web 表单项目中的 Web.config 匹配。
在部署到测试服务器时,我修改了 BOTH connectionStrings 以指向测试数据库 (DataSource=TestDB)。当部署到实时站点时,我将两者都修改为指向实时数据库 (DataSource=LiveDB)。
在 Site.Master 的顶部,我在标签控件中以红色字母显示“您已连接到 TEST 数据库”。我有条件地切换标签 if (context.Connection.DataSource.Contains("TestDB")) 的 .Visible 属性
在开发过程中,我发现了一些奇怪的东西。当 Web.config 指向 TestDB 时,如果我忘记让 App.config 匹配(并且它指向 LiveDB),则会出现“已连接到 TEST”警告,但会显示来自 LiveDB 的数据。
这告诉我存储库(类库)使用 App.Config,但在 Web 表单项目中创建的数据上下文使用 Web.config 连接字符串。那是对的吗?我担心如果我部署到测试站点并忘记将 App.Config 指向 TestDB,实时数据会被错误地更新。
所以我的问题是,在这种情况下... 显示始终准确的“已连接到测试数据库”通知的最佳方式是什么?
【问题讨论】:
标签: asp.net entity-framework configuration connection-string