EF 4.3迁移抛出“无法打开configSource文件”

时间:2012-02-13 16:23:02

标签: entity-framework ef-migrations

我正在尝试使用EF 4.3迁移功能。我的ASP.NET MVC项目将连接字符串存储在外部文件中:

<connectionStrings configSource="bin\connections.config" />

所有运行时程序(包括自动迁移)都可以正常工作。但是,没有连接到数据库的powershell命令行开关能够找到外部文件。它抛出“无法打开configSource文件”异常。我试图将.config文件放在不同的地方以及更改配置的外部文件位置无济于事。有没有可用的解决方法?

更新:我发现EF创建了一个临时AppDomain,其配置文件位于temp目录中。因此,目前唯一的解决方法是将外部配置放在同一个临时目录中。还有其他建议吗?

2 个答案:

答案 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