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

Responder a