【发布时间】:2015-08-10 06:02:34
【问题描述】:
我来了
System.NotSupportedException:全部 EntitySet 中的对象 'Entity.Message' 必须具有唯一性 主键。然而,一个实例 输入“Model.Message”和一个实例 'Model.Comment' 类型的两者都有 相同的主键值
但我不知道这是什么意思。
使用 EF4,我有一堆消息类型的实体。这些消息中的一些实际上是子类型,评论,按表类型继承。只是
DB.Message.First();
会产生异常。我还有其他没有遇到问题但看不到任何差异的子类型实例。但有时,如果我重新启动开发服务器,问题就会消失,但并非总是如此。
编辑: 我已经解决(以前应该有)问题是存储过程获取我的消息的错误。当前设置的方式是获取与 Message 相关的所有字段,存储过程忽略 Comment 表。然后上下文继续解决这个问题,可能是通过再次获取那些也是评论的消息,正如你所建议的那样。如何正确地做到这一点是当前的核心问题。我在http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/bb0bb421-ba8e-4b35-b7a7-950901adb602 找到了一些解决方案的迹象。
【问题讨论】:
-
你能贴出 Message 和 Comment 类的签名吗?
-
对不起,我不明白你的意思。你想见成员吗?全部还是 EF 生成的?
-
复杂。直觉:不适用。如果一切都失败了,我会调查一下。
-
你能把图表的屏幕截图贴出来吗?
标签: entity-framework entity-framework-4