Estoy migrando una aplicación ASP anterior a una versión .NET moderna, para reducir los tiempos de desarrollo que estamos viendo .NET 4.0 Entity Framework. Sin embargo, parece que hemos golpeado un muro de ladrillo en nuestro desarrollo con este problema.Problema de implementación de tabla por jerarquía y herencia
Given es una pequeña parte de nuestra base de datos: OBJETO de tabla que contiene una lista de automóviles y sus respectivas propiedades. También tenemos una tabla OBJECT_OPTIONS que contiene, para un automóvil dado en OBJECT, una lista de OPCIONES, ACCESORIOS y EQUIPAMIENTO ESTÁNDAR. Estos tres tipos tienen todos los mismos campos y, por lo tanto, están almacenados en la misma tabla. La columna ncopt_type se usa para discriminar entre las diferentes listas. Los valores posibles son: 'opt', 'acc' y 'sta'. La tabla OBJECT_OPTIONS vincula a OBJECT a través de ncopt_obj_id que representa un automóvil único (obj_id) en la tabla OBJECT.
Nuestro objetivo es proporcionar a la entidad objeto con 3 propiedades que enlazan con las diferentes listas OBJECT_OPTIONS: - opciones de propiedades - ACCESORIOS propiedad - STANDARDEQUIPMENT propiedad
Hemos probado diferentes tutoriales y tutoriales relativos a la tabla -per-jerarquía a través del modelo de herencia, pero no han tenido éxito en la creación de un modelo edificable.
Técnicamente lo que hicimos fue:
- crear el objeto entidad
- Crear entidad OBJECT_OPTIONS, que sea abstracta
- Añadir entidades OPCIÓN, accesorios y STANDARD_EQUIP todos utilizando OBJECT_OPTIONS BaseType
- Añadir condiciones a todos tres tablas en ncopt_type = '...'
- Agregue 3 propiedades de navegación a OBJETO, todas vinculadas a una de las entidades heredadas: OPCIONES, ACCESORIOS y STAND AARD_EQUIPMENT
Un manojo de errores muestra durante esta configuración, sino que terminan con éste:
Error 3032: Problema en fragmentos de mapeo a partir de las líneas 250, 286: EntityTypes NCO.Model. OPTION, NCO.Model.ACCESSOIRE, NCO.Model.STANDAARD_EQUIP se asignan a las mismas filas en la tabla OBJECT_OPTIES. Las condiciones de asignación se pueden usar para distinguir las filas a las que se asignan estos tipos.
Sin embargo, existe una condición presente en los tres objetos.
No he encontrado ninguna solución a este problema y ya he dedicado demasiado tiempo a él. Actualmente estamos utilizando un método alternativo, pero nos encantaría solucionarlo, ya que esta situación se presentará un par de veces más al final del proyecto.
Cualquier ayuda apreciada, si necesita más información, por favor envíeme un comentario o un correo electrónico.
Así, ehm, nadie sabe? –
Parece que no. Tengo el mismo problema, ... ¡tal vez somos nosotros dos! – Stimul8d
¿Podría adjuntar una imagen de las tablas relevantes y de las entidades relevantes de edmx? - Ayudaría a aclarar lo que estás tratando de hacer. Deja un comentario aquí después de la edición. –