【发布时间】:2011-09-07 13:40:45
【问题描述】:
所以,我在一个单独的类库中创建了我的实体模型。我必须将连接字符串添加到该类库的app.config 文件中。然后我在我的 Web 应用程序中为该项目添加了一个 ref。我在我的 Web 应用程序的 web.config 中添加了相同的连接字符串,认为这是 Entity Framework 将从中读取连接字符串的地方。
一切都很好,直到我部署了我的网络应用程序。当我部署时,我更改了web.config(不是类库的app.config)中的连接字符串,并且开始出现错误。经过一番研究,我发现web.config 和app.config 中的连接字符串必须匹配!!
这简直是愚蠢!每次我需要将我的 Web 应用程序部署到不同的环境时,我都必须返回并修改 app.config 文件中的连接字符串,然后重新编译我的类库项目,以便它可以获得刷新的连接字符串?
有没有人找到更好的方法来做到这一点?我的意思是,我不能是唯一一个想到将实体模型放在单独的程序集中的人。
可能的解决方案(如果您使用的是 EF 4.1): 因为我们需要在类库项目中包含 app.config 的唯一原因是为了 EF 设计器。如果我们放弃设计器方法并使用 Code-First (EF 4.1),您将不需要为您的类库项目创建 app.config 文件。
【问题讨论】:
-
我的设置完全相同,但根本没有这个问题。我所做的只是修改 web.config 并且它可以正常工作。 app.config 未部署,这可能是您的问题。
-
我以为你在做某事,但我检查了,我没有复制/部署 app.config ... dll 不知何故知道两个连接字符串(一个在 app.config 中,一个在 web .config) 不匹配。如果我的 web.config 连接字符串只是覆盖 app.config 生活会很好,但它不会发生。
标签: .net entity-framework connection-string entity-framework-4.1