实体框架:架构中的每个类型名称必须是唯一的

时间:2009-07-16 14:16:12

标签: entity-framework

我正在做非常非标准的Entity Framework构建。我已经使用EdmGen2从db生成edmx,并将组件csdl,msdl和ssdl文件拆分为它们自己的文件。它们的连接字符串中的元数据如下所示:

C:\ Downloads \ EDM | filename.csdl | filename.msdl | filename.ssdl

我有一个单元测试除了尝试打开连接之外什么也没做,我得到了这个错误(还有很多其他的糠)):

“架构中的每个类型名称必须是唯一的”

如果我手动进入csdl并在名称中添加“1”,它最终会移动到msdl文件并开始抱怨。很明显,模式在开放操作中被双重定义......

  1. 测试或依赖项目中没有对edmx的引用。事实上,没有任何参考,因为这是一个在运行时动态生成所有这些东西的项目。
  2. 我见过Julie Lehrman / Do not Be Iffy帖子,看起来似乎不是那个问题。
  3. ... TIA

1 个答案:

答案 0 :(得分:0)

想出来......元数据工作区显然是硬编码来查找三个文件(这是有意义的),当我删除元数据标签中的目录规范时,一切都开始工作了。我的元数据属性现在如下所示:

C:\ Downloads \ filename.csdl | C:\ Downloads \ filename.msdl | C:\下载\ filename.ssdl

所以我认为这是一个或两个命题:要么指定文件所在的目录,要么指定单个文件位置。