指定.csdl / .ssdl / .msl的位置输出程序集中的元数据文件

时间:2012-02-21 09:33:56

标签: entity-framework entity-framework-4 edmx

我有一个EF项目,其中包含我已成功使用的数据模型。 “元数据工件处理”选项设置为“嵌入输出程序集”。

由于.edmx文件位于项目的根文件夹中,因此EntityConnectionStringBuilder中使用的元数据字符串设置为:

res://*/myProject.csdl|res://*/myProject.ssdl|res://*/myProject.msl

当我重组项目时,我将.ecdm文件移动到子文件夹中: /DataLayer/myProject/我将元数据字符串更改为:

res://*/DataLayer/myProject/myProject.csdl|res://*/DataLayer/myProject/myProject.ssdl|res://*/DataLayer/myProject/myProject.msl

这现在导致错误(“指定的元数据路径无效”)但我看不出我在元数据中指定的文件夹路径有什么问题。

我知道我可以将.ecdm文件移回根目录但我以前遇到过这个问题而无法修复它 - 有什么明显的东西我不知道了吗?

1 个答案:

答案 0 :(得分:7)

我终于解决了。

文件夹应以'。'分隔。不是'/'。

元数据的正确格式为:

res://*/DataLayer.myProject.myProject.csdl|res://*/DataLayer.myProject.myProject.ssdl|res://*/DataLayer.myProject.myProject.msl

希望这可以避免某人在墙上撞墙一段时间!