Pero mas que libertad de NHibernate para crear el esquema, creo que asi NO
lo hicieras con NHibernate necesitas la llave foranea que sea nullable.

Otra opcion seria que te crees la tabla intermedia many-to-many y NO es
necesario que tengas que hacer la realcion bidireccional asi que no
tendrias que modificar tu clase de tienda.

2012/3/26 Kalli <[email protected]>

> Hola a todos,
>
> En mi empresa tenemos una base de datos común, con tablas corporativas
> como
> tiendas, países o comerciales.
>
> En el proyecto actual aparecen entidades nuevas que no están en esta
> base de datos, como transportista, y otras que ya existen en dicha
> base
> de datos.
> Así, una tienda tiene un solo transportista y un transportista provee
> a varias tiendas. E. d., una one-to-many. Trivial, tanto a nivel de
> modelo del dominio como de modelo de datos...
>
> Pero el problema es que no tengo libertad total para dejar que NH
> cree
> el esquema de la base de datos: sí para las tablas no comunes como
> Transportista
> pero las tablas de la base de datos común que os comentaba son
> intocables.
> Entonces, si la relación Tienda-Transportista es one-to-many y no
> puedo añadir el campo "Transportista_id" en la tabla de tiendas, ¿qué
> opción me recomendaríais?
>
> En el proyecto anterior, que me pasaba algo parecido, opté por crear
> la clase DatosAuxiliaresTienda y crear una one-to-one con tiendas.
>
> También he pensado en crear una many-to-many entre Tienda y
> Transportista y, en el modelo del dominio, hacer alguna que otra
> restricción. El problema es que me obliga a hacer una chapuza en los
> objetos del dominio, ya que tengo que declarar transportistas, en la
> clase
> Tienda, como lista y no objeto individual.
> Para suavizarlo, siempre podría encapsular la colección y añadir una
> propiedad individual, devolviendo el ítem 0 o null si no hay ítems.
> Pero no deja de ser una chapuza...
>
>
> Muchas gracias por adelantado,
> JC
>
>
>
> --
> 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