我使用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:由于我不想发布过多的代码,我还没有添加任何内容,但我很乐意添加所需的信息,我只是不确定究竟需要什么。
答案 0 :(得分:16)
因此,如果要创建csdl,ssdl和msd文件,请执行以下操作:
Metadata Artifact Process
选择Embed in Output Assembly
。完成后,文件将显示在Debug\edmxResourcesToEmbed
或obj
下的obj\x86
中,具体取决于您的构建定义。
我很抱歉,这似乎很容易解释,但我需要这些指示(msdn不是一个很好的帮助),我希望它可以帮助其他人。