Por la interfaz si se puede, solo que debes mapearla como <class="..."
abstract="true"/>.  La cuestion con esto es que debes implementar una opcion
de mapeo de herencia ya sea con <discriminator> o <join-subclass> o con
<union-sublcass>.

Una unica cosa a tener en cuenta es que en el mapeo de la interfaz debes por
lo menos mapear el ID, el inconveniente es si tu interfaz no tiene SET para
el Id por cuestiones de encapsulamiento, entonces tendrias que utilizar
algun "access" personalizado o con una estrategia de
nombramiento<http://www.nhforge.org/doc/nh/en/index.html#mapping-declaration-property>
.

Saludos,
Nestor Andres Rodriguez

2011/8/3 César Pistiner (GMail) <[email protected]>

> **
>  Buenas
>
>     Tenemos una clase con una propiedad mapeada con any y quiero hacer
> queries filtrando por propiedades de la entidad mapeada (todas las entidades
> mapeadas implementan una interfaz común).
>
> Ejemplo:
>
> class Comprobante {
>     public IEmisor Emisor { get; set; }
> }
>
> El mapping es:
>
>
> <
> class name="Comprobante">
>
>     <
> id name="Id">
>
>         <
> generator class="guid.comb"></generator>
>
>     </
> id>
>
>     <
> any name="Emisor" id-type="Guid">
>
>         <
> column name="ClassEmisor"/>
>
>         <
> column name="IdEmisor"/>
>
>     </
> any>
>
> </
> class>
>
> Otra opción que evaluamos fue mapear por la interfaz en lugar de any pero
> no pudimos hacerlo.
>
> Agradecere su ayuda, saludos
> César Pistiner
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 6347 (20110803) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
> --
> 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