我正在尝试使用EF 4.3迁移功能。我的ASP.NET MVC项目将连接字符串存储在外部文件中:
<connectionStrings configSource="bin\connections.config" />
所有运行时程序(包括自动迁移)都可以正常工作。但是,没有连接到数据库的powershell命令行开关能够找到外部文件。它抛出“无法打开configSource文件”异常。我试图将.config文件放在不同的地方以及更改配置的外部文件位置无济于事。有没有可用的解决方法?
更新:我发现EF创建了一个临时AppDomain,其配置文件位于temp目录中。因此,目前唯一的解决方法是将外部配置放在同一个临时目录中。还有其他建议吗?
答案 0 :(得分:2)
在这里使用EF 6.1。
如果像我一样你链接到位于另一个项目中的connectionStrings.config文件而不是你的Entity Framework迁移项目(使用Add as link),你可能需要将文件移回这个EF项目并链接到从其他项目移动文件......
答案 1 :(得分:0)
遗憾的是,在EF迁移中,使用powershell cmd-lets处理外部 configSource
文件并不容易。我放弃了它并将连接字符串移动到包含db代码的类库的配置文件中。另一种方法是,您已经发现自己手动复制文件。遗憾的是,复制过程不遵循项目的构建设置,因此将外部配置文件设置为在构建时复制没有帮助。
EF 4.3.1支持configSource
。