Nos gustaría asignar una sola tabla en dos clases con NHibernate. El mapeo tiene que ser dinámicamente dependiendo del valor de una columna.NHibernate mapeando una tabla en dos clases con la selección
Aquí hay un ejemplo simple para hacerlo un poco más claro: Tenemos una tabla llamada Persona con las columnas id, Nombre y Sexo.
Los datos de esta tabla deben ser mapeados ya sea en el Hombre clase o en la Mujer clase en función del valor de la columna Sex.
en pseudocódigo:
create instance of Male with data from table Person where Person.Sex = 'm';
create instance of Female with data from table Person where Person.Sex = 'f';
El beneficio es que hemos inflexible de tipos de modelos de dominio y luego podemos evitar sentencias switch.
¿Esto es posible con NHibernate o tenemos que asignar la tabla Person a una clase Person plana primero? Luego, después, tendríamos que usar un método de fábrica personalizado que tome una instancia de Persona plana y devuelva una instancia de Mujer o Hombre. Sería bueno si NHibernate (u otra biblioteca) puede manejar esto.
¡Gracias! Funciona como se esperaba Hubiera sido extraño si no fuera compatible. Esta es una de las cosas por las que OR/M está hecho. –