等待!哪个配置文件?(实体框架连接字符串)

Rob*_*ert 18 .net entity-framework connection-string entity-framework-4.1

所以,我在一个单独的类库中创建了我的实体模型.我不得不将连接字符串添加到该app.config类库的文件中.然后我在我的Web应用程序中为该项目添加了一个ref.我在web.config我的Web应用程序中添加了相同的连接字符串,认为这是Entity Framework将从中读取连接字符串的位置.

在部署我的网络应用程序之前,一切都很好.当我部署时,我更改了web.config(不是app.config类库)中的连接字符串,我开始收到错误.之后做一些研究,我发现,在这两种连接字符串web.configapp.config必须匹配!

这真是愚蠢!每次我需要将我的Web应用程序部署到不同的环境时,我必须返回并修改app.config文件中的连接字符串,然后重新编译我的类库项目,以便它可以获得刷新的连接字符串?

有人找到了更好的方法吗?我的意思是,我不能只想到将实体模型放在一个单独的组件中.

可能的解决方案(如果您使用的是EF 4.1): 由于我们需要在类库项目中使用app.config的唯一原因是EF设计器.如果我们抛弃设计者方法并使用Code-First(EF 4.1),您将不需要为您的类库项目提供app.config文件.

Bri*_*ter 12

我们遇到了同样的情况.我已经要求每个开发人员只编译EF程序集,并选择第一个连接字符串.

这样,部署时,web.config中只需要一个连接字符串.

最终,如果每个开发机器和部署服务器在第一个(并且仅希望是唯一的)连接字符串(即不是ConnectionString4)中具有正确的连接信息(对于该机器),则生活很容易.

基本上,当默认连接字符串(最新选择的)无法连接时,设计者会将额外的连接字符串添加到dev连接字符串.

此外,没有理由将数据层放入单独的程序集中.有时这是更可取的.

最后,确保包含连接字符串的配置文件没有挂钩到源代码控制非常重要 - 连接字符串经常被本地化,并且如果EF和LINQ to SQL将导致"多连接字符串问题"每次从源代码管理更新项目时,它都会被错误值覆盖.


归档时间:

查看次数:

8611 次

最近记录:

13 年 前