实体框架 - 创建csdl,ssdl和msl文件

时间:2011-08-23 08:06:00

标签: entity-framework edmx

我使用EF 4(目前不使用自我跟踪实体)。我已经向我的一个实体添加了一些列(其中不是键,所有可以为空),并获得Number of members in conceptual type does not match with number of members on object side type例外。
我已经按照接受的答案here,但我得到的只是这个实体不再出现在我的edmx中了。我已经从DB重新添加了它,但我一直得到同样的例外 我认为问题是我已经将csdl / ssdl / msl文件复制到我正在执行的汇编目录中。我想复制更新的文件,但它们不会再次创建(它们曾经在我的EF项目的obj\Debug\edmxResourcesToEmbed文件夹中创建),甚至在删除后也没有。 有没有办法再次创建这些文件?
谢谢。

PS:由于我不想发布过多的代码,我还没有添加任何内容,但我很乐意添加所需的信息,我只是不确定究竟需要什么。

1 个答案:

答案 0 :(得分:16)

因此,如果要创建csdl,ssdl和msd文件,请执行以下操作:

  1. 转到您的edmx文件。
  2. 单击显示模型的GuI屏幕。
  3. 切换到属性窗口(我不知道需要从GUI区域访问它,而不是右键单击解决方案资源管理器中的文件。
  4. Metadata Artifact Process选择Embed in Output Assembly
  5. 完成后,文件将显示在Debug\edmxResourcesToEmbedobj下的obj\x86中,具体取决于您的构建定义。
    我很抱歉,这似乎很容易解释,但我需要这些指示(msdn不是一个很好的帮助),我希望它可以帮助其他人。