Edu,

Lo que tienes que usar es one-to-one
http://nhforge.org/doc/nh/en/index.html#mapping-declaration-onetoone.
Una avería tiene una reparación (o ninguna). Eso es todo.

    Diego


2010/7/16 Edu <[email protected]>

> Bueno, gracias por vuestras respuestas, no esperaba tantas ni tan
> rápidas.
>
> Todos coincidís en que no hay herencia así que seguramente he modelado
> mal. Lo que ha pasado es lo siguiente.
>
> Se trata de una aplicación relacional que estoy intentando migrar a
> nhibernate. En este caso es vital que no exista mas de 1 reparación
> por avería. La relación es  de 1 a 0 o 1, no de 1 a varios, por eso
> hice coincidir la primary key con la foreign key.
>
> He usado una herramiente ( Nconstruct Lite ) para generar los hbm y
> las clases. Esta herramienta detecta herencia automaticamente. Lo que
> hace es que cuando una tabla tiene una primary key que es a su vez
> foreign key en una relación, convierte a esta tabla en subclase, y me
> generó el mapeo que os he posteado.
>
> En principio me pareció genial, de hecho el modelo se adapta bien a
> los controles de asp.net. Puedo ver en un gridview los datos de la
> averia y su reparación  y desde un detailsview puedo dar altas y bajas
> como si se tratase de una unica tabla. O sea, los formularios que ya
> tengo siguen funcionando. Solo falla en el caso os decía.
>
> No sé si he conseguido explicarme. Ahora mi problema es conseguir que
> la nueva capa de acceso a datos que estoy desarrollando me afecte lo
> menos posible al resto de la aplicación. y me parece que la solucion
> que me dais no es práctica. Se me ocurren otras,  juntar las dos
> tablas en una o a lo mejor crear una vista y mapearla. Mi pregunta es
> si no hay forma de conseguir esto desde nhibernate, sin cambiar el
> modelo de datos.
>
> Gracias otra vez
>
>
>
>
>
>
>
>
>
>
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a