Я пытаюсь изучить EF и столкнулся с некоторыми проблемами. У меня есть база данных, давайте упростим, 4 таблиц:Проблемы отображения наследования в Entity Framework
1) Items(NodeID, other fields),
2) Nodes(NodeID, extra),
3) Recipient(RecipientID, others)
4) NodesRecipient(RecipientID, NodeID).
Item-Node 1-1 отношения, первичный ключ NodeID Получатель имеет первичный ключ RecipientID и ключи NodesRecipient являются RecipientID и NodeID. Ниже приведена диаграмма Я создал модель EF из базы данных выше, используя VS 2012. После создания модели я сделал Node, полученный из элементов, указав ее базу как Item и удалив связь 1-1 между ними. Я также сделал элементы абстрактными, так как я не хочу прямого манипулирования этим объектом.
Компилятор жалуется:
"Error 1 Error 3024: Problem in mapping fragments starting at line 266:Must specify mapping for all key properties (Items.nodeID) of the EntitySet Items."
Но если я не использовать наследование, компилятор не будет жалоб, и это было прекрасно.
Что мой вопрос и как я могу получить вокруг него? Было бы неплохо, если EF разрешает наследование, и я думаю, что это возможно, поскольку он позволяет мне указать базовый класс, но я думаю, что могут быть некоторые ссылки, которые я мог пропустить при чтении документации Microsoft.
Не указывая нам схему и отображение, это невозможно. Очевидно, что EF поддерживает наследование, но как вы пытались его сопоставить? –