Я переношу старое приложение ASP в современную версию .NET, чтобы сократить время разработки, мы рассматриваем .NET Entity Framework. Однако, похоже, мы столкнулись с кирпичной стеной в нашем развитии с этой проблемой.Проблема реализации на иерархию и наследование
Краткое описание: Это небольшая часть из нашей базы данных: Таблица ОБЪЕКТА, которая содержит список автомобилей и их соответствующие свойства. У нас также есть таблица OBJECT_OPTIONS, которая содержит для данного автомобиля в OBJECT список ОПЦИЙ, АКСЕССУАРОВ и СТАНДАРТНОГО ОБОРУДОВАНИЯ. Эти три типа имеют одинаковые поля и хранятся в одной таблице. Столбец ncopt_type используется для различения различных списков. Возможные значения: «opt», «acc» и «sta». Таблица OBJECT_OPTIONS связана с OBJECT через ncopt_obj_id, которая представляет уникальный автомобиль (obj_id) в таблице OBJECT.
Наша цель состоит в том, чтобы обеспечить OBJECT объект с 3-мя свойствами, которые ссылаются на различные списки OBJECT_OPTIONS: - свойство OPTIONS - недвижимость АКСЕССУАРЫ - свойство STANDARDEQUIPMENT
Мы пробовали различные обучающие программы и пошаговые относительно стола -per-hierarchy через модель наследования, но не удалось создать модель, пригодную для сборки.
Технически то, что мы сделали:
- Создание сущностей ОБЪЕКТ
- Создание сущностей OBJECT_OPTIONS, сделать его абстрактным
- добавлять объекты OPTION, АКСЕССУАРА и STANDARD_EQUIP все с использованием BaseType OBJECT_OPTIONS
- Добавить условия для всех три таблицы на ncopt_type = '...'
- Добавьте к объекту 3 навигационных свойства, все связанные с одним из унаследованных объектов: ОПЦИИ, АКСЕССУАРЫ и СТЕНД AARD_EQUIPMENT
Куча ошибок показывает, во время этой установки, но мы в конечном итоге с этим:
Ошибка 3032: Проблема в фрагментах отображения, начиная с линией 250, 286: EntityTypes NCO.Model. OPTION, NCO.Model.ACCESSOIRE, NCO.Model.STANDAARD_EQUIP сопоставляются с одними и теми же строками в таблице OBJECT_OPTIES. Условия сопоставления могут использоваться для различения строк, к которым эти типы сопоставляются.
Присутствует состояние на всех трех объектах.
Я не нашел решения этой проблемы и потратил слишком много времени на это. В настоящее время мы используем метод обходного пути, но хотели бы, чтобы это зафиксировалось, так как эта ситуация представится еще несколько раз к концу проекта.
Любая помощь приветствуется, если вам нужна дополнительная информация, пожалуйста, напишите мне свой комментарий или электронное письмо.
Так, ЭУ, никто не знает? –
Казалось бы, нет. У меня такая же проблема ... может быть, это просто двое! – Stimul8d
Не могли бы вы приложить изображение соответствующих таблиц и соответствующих объектов из edmx? - Это поможет прояснить, что вы пытаетесь сделать. Оставьте комментарий здесь после редактирования. –