Entity Framework 4: Наследование (таблица для каждого типа) - Производная таблица имеет составной PK - PullRequest
0 голосов
/ 01 октября 2010

Возможно ли иметь наследование "таблица на тип" в Entity Framework 4, если производная таблица имеет составной первичный ключ?

Вот мои настройки таблицы:

TABLE: ConfigurationKey (Base Entity)
PK: Id

TABLE: ConfigurationKey_Device (Derived Entity)
PK: ConfigurationKeyId (FK to ConfigurationKey.Id)
PK: DeviceId (FK to Device.Id)

Что бы это ни стоило, ConfigurationKey будет абстрактным, а другие типы будут производными от ConfigurationKey.

Используя EF конструктор, я имею:

  • Добавлено правило наследования
  • Удален ConfigurationKeyId из ConfigurationKey_Device
  • Удален FK, связывающий ConfigurationKey_Device с ConfigurationKey
  • Обновлено отображение столбца ConfigurationKey_Device.ConfigurationKeyId в унаследованное свойство Id.

Ошибка, которую я сейчас получаю:

Ошибка 3003: проблема в отображении фрагменты, начинающиеся со строки ххх: все ключевые свойства (ConfigurationKeys.Id) ключей конфигурации EntitySet должен быть сопоставлен со всеми ключами свойства (ConfigurationKey_Device.ConfigurationKeyId, ConfigurationKey_Device.DeviceId) из Конфигурация таблицы Key_Device.

Спасибо, Chris

1 Ответ

0 голосов
/ 01 октября 2010

Сообщение об ошибке отвечает на ваш вопрос.
Вы на самом деле пытаетесь наследовать от сущности с ключом из одного столбца сущность с ключом из двух столбцов.
Похоже, что лучшим решением будет иметь ComplexType, включающий общий набор свойств, или общий интерфейс, реализующий необходимые функциональные возможности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...