No se sí te entiendo bien, pero tienes centralizadas las notas de varios tipos de entidades en una sola tabla?
Saludos, Nestor Andrés Rodríguez On 5/10/2012, at 18:05, Marcos Mellibovsky <[email protected]> wrote: Hola mouthbow: Me parece que asi te deberia andar: <class name="ViewListadoFacturas"> <id type="Guid"> <generator class="guid" /> </id> <property name="CodigoFactura" /> <property name="CodigoCliente" /> <set name="NotasElementosList"> <key column="CodigoElementoAsociado" /> <one-to-many class="NotasElementos" /> </set> </class> public class ViewListadoFacturas { public virtual Guid CodigoFactura { get; set; } public virtual Guid CodigoCliente { get; set; } public virtual ISet<NotasElementos> NotasElementosList { get; set; } } El jueves, 4 de octubre de 2012 10:54:51 UTC-3, mouthbow escribió: > > Buenas tardes a tod@s! > > Tengo una pregunta que creo que lo mismo es básica pero no encuentro forma > de hacer: > > Necesito definir un set en un archivo de mapping con unas necesidades > especiales. He leído varias páginas pero no encuentro nada. > Supongamos que tengo un mapping de una Vista SQL > > > <class name="Namespace.ViewListadoFacturas, Assembly" > table="ViewListadoFacturas"> > > <id name="CodigoFactura" column="[CodigoFactura]" type="System.Guid"> > <generator class="assigned"/> > </id> > <property name="CodigoCliente" column="[CodigoCliente]" > access="field.pascalcase-underscore" not-null="true" type="System.Guid"/> > > </class> > > > Y supongamos que luego un mapping de una clase como este: > > > <class name="Namespace.NotasElementos, MyAssembly" table="NotasElementos" > > > <id name="Id" column="CodigoNota" type="System.Guid"><generator > class="guid"/></id> > <property name="CodigoElementoAsociado" column="CodigoElementoAsociado" > access="field.pascalcase-underscore" not-null="false" type="System.Guid" > insert="true" update="true"/> > > </class> > > > Donde CodigoCliente de la Vista y CodigoElemento asociado guardan los > mismos valores y por tanto podríamos hacer un inner join entre ellos pero > se llaman diferente. > El nombre es diferente porque en la clase NotasElementos también guardo > Notas de Proveedores, Usuarios, etc... De ahí sale el concepto de > CodigoElementoAsociado. > > Al usar Guids evito que dos elementos de clases diferentes compartan ids. > > La pregunta es: > > ¿Como puedo mapear las notas del cliente en la vista? Yo necesito hacer > algo así: > > > > <set name="NotasElementosList" cascade="none" inverse="true" lazy="true" > access="field.pascalcase-underscore"> > <Source key> > <column name="CodigoCliente" /> > </Source key> > <Target key> > <column name="CodigoElementoAsociado"/> > </Target key> > <one-to-many class="MyNamespace.NotasElementos, GIOFACT_DAL"/> > </set> > > > ¿Es posible hacer esto? La verdad es que esto solucionaría una gran parte > de las necesidades que tengo pendientes. > > Ni que decir que agradezco enormemente por adelantado cualquier ayuda que > pueda recibir. > > Un saludo. > -- 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
