Структура сущности и наследование: NotSupportedException

Я получаю

System.NotSupportedException: все объекты в EntitySet Entities.Message должны иметь уникальные первичные ключи. Однако экземпляр типа Model.Message и экземпляр типа Model.Comment имеют одинаковое значение первичного ключа

, но я понятия не имею, что это значит.

Используя EF4, у меня есть группа сущностей типа Message. Некоторые из этих сообщений на самом деле являются подтипом, комментарием, наследованием по типу таблицы. Просто

 DB.Message.First();

произведет исключение. У меня есть другие случаи подтипов, когда у меня нет проблем, но я не вижу никаких несоответствий. Однако иногда проблема исчезает, если я перезагружаю сервер разработки, но не всегда.

Редактировать: я выяснил (должен был раньше), что проблема заключается в том, что хранимая процедура извлекает мои Сообщения. То, как это в настоящее время настроено так, что все поля, относящиеся к Message, выбираются, таблица комментариев игнорируется sproc. Затем контекст перебирает это, возможно, снова выбирая те Сообщения, которые также являются Комментариями, как вы и предлагали. Как сделать это правильно - центральный вопрос. Я нашел некоторые указания на решение на http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/bb0bb421-ba8e-4b35-b7a7-950901adb602 .

]

10
задан Martin 14 September 2010 в 10:10
поделиться