Добавление отношения к базовой сущности (наследование) - PullRequest
1 голос
/ 17 августа 2011

У меня есть 3 типа передачи.В двух из них содержатся данные о работнике и транспортном средстве.Мне нужно представлять эти сущности в структуре сущностей.Таким образом, я создал базовую сущность под названием Transmission, которая содержит общие свойства передачи.Затем я создал 3 других конкретных объекта для трех типов передачи: Transmission1, Transmission2 и Transmission3.На первичный ключ Tramsission ссылается первичный ключ каждого типа передачи.

Я загрузил все 4 объекта в edmx и создал наследование: Transmission является родительским для Transmission1, Transmission2 и Transmission3.

Теперь я хочу инкапсулировать данные о работнике и автомобиле, которые существуют в Transmission1 и Transmission2.Поэтому я создал объект WorkerVehicle, у которого есть идентификатор передачи и свойства работника / транспортного средства.

Теперь, когда я загружаю WorkerVehicle в edmx, я получаю отношение между объектами WorkerVehicle и Transmission, где то, что я действительно хочу, это отношение междуWorkerVehicle and Transmission1 / Transmission2.

Как это исправить?
Если я оставлю связь между WorkerVehicle и Transmission и разрешу Transmission3 сохранять данные WorkerVehicle?

UPDATE
Вот изображение, описывающее ситуацию: enter image description here

1 Ответ

0 голосов
/ 17 августа 2011

Вы не можете, если вы не проведете рефакторинг вашей модели и не создадите некоторый промежуточный базовый класс, производный от Transmission, который будет родительским для Container классов. После этого вы можете попытаться установить отношения с этим классом. Перемещение отношений к производному классу в EDMX обычно неуклюже, и вы можете закончить с изменением EDMX вручную.

...