我越來越實體框架和繼承:NotSupportedException異常
System.NotSupportedException:在EntitySet的 'Entities.Message' 所有 對象必須具有唯一 主鍵。然而, 類型的實例「Model.Message」和實例類型「Model.Comment」兩個 有 相同的主鍵值
,但我不知道這意味着什麼。
使用EF4,我有一堆消息類型的實體。其中一些消息實際上是一種子類型,Comment,按表類型繼承。只是
DB.Message.First();
會產生異常。我有其他的子類型實例,我沒有遇到問題,但我看不到任何差異。但是,有時候,如果我重新啓動開發服務器,問題就會消失,但並非總是如此。
編輯: 我已經制定了(應該有),該問題是存儲過程提取我的消息的錯誤。由於所有與Message有關的字段都被提取,所以當前設置的方式是由存儲過程忽略Comment表。然後,上下文繼續討論這個問題,可能通過再次提取那些也是評論的消息,正如你所建議的那樣。如何正確地做到這一點是當前的核心問題。我在http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/bb0bb421-ba8e-4b35-b7a7-950901adb602找到了解決方案的一些跡象。
你可以發佈消息和評論類的簽名嗎? – Basic 2010-09-05 23:40:34
對不起,我不瞭解你。你想看看成員嗎?所有這些或只是EF生成的? – Martin 2010-09-06 13:42:32
你有沒有檢查過這個bug? https://connect.microsoft.com/VisualStudio/feedback/details/544639/ef4-inheritance-defined-using-queryview-doesnt-work-properly-with-association – 2010-09-07 01:33:18