Hola de nuevo,

He probado lo que comentas pero sigo teniendo un ultimo problema.
A la hora de definir la clausula where no se como referenciar a la Clase 
Padre, la vista por ejemplo:

<id name="CodigoCabeceraFactura" column="[CodigoCabeceraFactura]" 
type="System.Guid"><generator class="assigned"/></id>
<property name="CodigoCentro" column="[CodigoCentro]" 
access="field.pascalcase-underscore" not-null="true" type="System.Guid"/>
<property name="CodigoEpisodio" column="[CodigoEpisodio]" 
access="field.pascalcase-underscore" not-null="true" type="System.Int32"/>
<property name="CodigoFactura" column="[CodigoFactura]" 
access="field.pascalcase-underscore" not-null="false" type="System.String"/>
<property name="CodigoGuidEpisodio" column="[CodigoGuidEpisodio]" 
access="field.pascalcase-underscore" not-null="true" type="System.Guid"/>
<property name="ContadorCabecerasEpisodio" 
column="[ContadorCabecerasEpisodio]" access="field.pascalcase-underscore" 
not-null="true" type="System.Byte"/>
<property name="FechaFactura" column="[FechaFactura]" 
access="field.pascalcase-underscore" not-null="false" 
type="System.DateTime"/>

  <set name="NotasEpisodioList" table="MensajesItems"
        where="CodigoElementoAsociado = CodigoGuidEpisodio">
     <key column="CodigoElementoAsociado"/>

    <one-to-many class="GIOFACT_DAL.Entity.MensajesItems, GIOFACT_DAL"/>
  </set>


Esta es la linea:
 where="CodigoElementoAsociado = CodigoGuidEpisodio">

Lo he probado tal y como está y así:

 where="thisCodigoElementoAsociado = this.CodigoGuidEpisodio">

Pero no me resuelve la propiedad CodigoGuidEpisodio y salta excepción.

Se te ocurre como hacerlo?

Gracias de nuevo.  ;-)

El miércoles, 10 de octubre de 2012 16:17:37 UTC+2, mouthbow escribió:
>
> Hola,
>
> El tema de juntarlo todo en una tabla fue un paso añadido. Inicialmente lo 
> tenía todo por separado pero me parecía poco lógico teniendo en cuenta que 
> eran los mismos campos. 
> El ejemplo que pones de "Es como tener una tabla de Nombres o una table de 
> Descripciones" no me termina de convencer dado entiendo que una entidad 
> solo tiene un nombre o una descripción mientras que Notas puede tener 
> muchísimas. Además que dichas notas no son simplemente notas sino que 
> tienen muchas propiedades y funciones asociadas para filtrado por grupos de 
> usuarios, fechas, etc...
>
> En cualquier caso voy a lo importante:
> Muchas gracias por comentarme la opción de Where, aún no he podido 
> probarlo pero desde luego que pinta bien.
> Cuando lo haya hecho lo comento por aquí.
>
> Un saludo.
>
> El martes, 9 de octubre de 2012 18:08:43 UTC+2, Andres Rodriguez escribió:
>>
>> Hola mouthbow,
>>  
>> Realmente no fue una buena decision haber centralizado (acoplado) las 
>> notas de diferentes entidades en una sola tabla.  Las notas son simplemente 
>> notas y pertenecen a cada entidad.  Es como tener una tabla de Nombres, o 
>> una tabla de Descripciones.  Tal vez aplique en tu dominio, no se, pero es 
>> una solucion que hay que pensarla dos veces.
>>  
>> Para tu caso, prueba en el <SET> utilizando un 
>> WHERE<http://nhforge.org/doc/nh/en/index.html#collections-mapping>= 
>> "codigo_elemento_asociado = 'codigo proveedor'" en cada una de las 
>> entidades donde mapeas las notas.  Alli debes colocar un SQL arbitrario el 
>> cual te va a servir para traerte solo un subconjunto de las Notas que 
>> deseas basado en el codigo_elemento_asociado.  Espero te funcione.
>>  
>> Saludos,
>> Nestor Andres Rodriguez
>>
>> 2012/10/9 mouthbow <[email protected]>
>>
>>> Ok muchas gracias por tu respuesta.
>>>
>>> Seguiré investigando.
>>>
>>> Un saludo.
>>>
>>> El martes, 9 de octubre de 2012 11:45:49 UTC+2, Carlos Peix escribió:
>>>>
>>>> Hola mouthbow,
>>>>
>>>> Yo no conozco manera de realizar ese mapeo (lo cual no significa que no 
>>>> exista).
>>>>
>>>> Yo he resuelto ese tipo de situaciones con una clase base para los 
>>>> items de la coleccion que tenga una referencia al documento 
>>>> (backreference).
>>>>
>>>> ------------------------------**----
>>>> Carlos Peix
>>>>
>>>> 2012/10/9 mouthbow <[email protected]>
>>>>
>>>> Hola Carlos,
>>>>>
>>>>> Gracias por tu respuesta.
>>>>> Lamentablemente la opción del dataset no es válida para mí. Como 
>>>>> comento en otra entrada de este mismo post, la aplicación ya existe y 
>>>>> utilizo este modelo en múltiples pantallas. 
>>>>> Creo que podría ser que no me hubiera explicado correctamente. 
>>>>> Considero que no necesito polimorfismo, ni clase base (aunque si que la 
>>>>> tengo) ni nada de todo eso.
>>>>> Olvidemos por un momento el tema de la vista, creo que la pregunta se 
>>>>> puede responder sin esta condición.
>>>>>
>>>>> EntidadCliente: Id (CodigoCliente), Nombre
>>>>> EntidadProveedor: Id (CodigoProveedor), Nombre
>>>>> EntidadEmpresa: Id (CodigoEmpresa), Nombre
>>>>> EntidadFactura: Id (CodigoFactura), CodigoCliente, CodigoProveedor, 
>>>>> CodigoEmpresa
>>>>> EntidadNotasElementos: Id (CodigoNota), CodigoElementoAsociado, Nota
>>>>>
>>>>> Quiero un mapping dentro del mapping de EntidadFactura que haga esto:
>>>>>
>>>>> <set name="NotasClienteList" cascade="none" inverse="true" 
>>>>> lazy="false" access="field.pascalcase-**underscore">
>>>>>  <key>
>>>>> <column name="CodigoElementoAsociado"  *SOURCECOLUMNNAME="
>>>>> CodigoCliente"*  />
>>>>>  </key>
>>>>> <one-to-many class="Entity.NotasElementos, GIOFACT_DAL"/>
>>>>> </set>
>>>>>
>>>>> <set name="NotasProveedorList" cascade="none" inverse="true" 
>>>>> lazy="false" access="field.pascalcase-**underscore">
>>>>> <key>
>>>>>  <column name="CodigoElementoAsociado"  *SOURCECOLUMNNAME="
>>>>> CodigoProveedor"*  />
>>>>> </key>
>>>>>  <one-to-many class="Entity.NotasElementos, GIOFACT_DAL"/>
>>>>> </set>
>>>>>
>>>>> <set name="NotasEmpresaList" cascade="none" inverse="true" 
>>>>> lazy="false" access="field.pascalcase-**underscore">
>>>>>  <key>
>>>>> <column name="CodigoElementoAsociado"  *SOURCECOLUMNNAME="
>>>>> CodigoProveedor"*  />
>>>>>  </key>
>>>>> <one-to-many class="Entity.NotasElementos, GIOFACT_DAL"/>
>>>>> </set>
>>>>>
>>>>>
>>>>> Por favor, esto es posible, sí o no? Y si es que sí, como?
>>>>>
>>>>> Muchísimas gracias de nuevo.
>>>>>
>>>>> El martes, 9 de octubre de 2012 04:00:47 UTC+2, Carlos Peix escribió:
>>>>>>
>>>>>> Hola mouthbow,
>>>>>>
>>>>>> Creo que estas enfrentando dos problemas distintos y una sola 
>>>>>> solucion no bastara.
>>>>>>
>>>>>> Sugiero que programes una vista o stored procedure que devuelva la 
>>>>>> informacion que necesitas y no la mapees a ninguna entidad de 
>>>>>> NHibernate, 
>>>>>> simplemente utiliza un dataset. Creo que puede hacerse con NH un query 
>>>>>> que 
>>>>>> recibas en un objeto cualquiera, aunque no estoy familiarizado con esta 
>>>>>> tecnica.
>>>>>>
>>>>>> Hasta aqui sin preocuparte del mundo de objetos.
>>>>>>
>>>>>> Luego, debes resolver el problema de estas relaciones en el mundo de 
>>>>>> los objetos y, una vez que lo tengas resuelto en ese mundo, ver como lo 
>>>>>> mapeas con la base de datos. Veras que es mucho mas simple. Para eso yo 
>>>>>> he 
>>>>>> usado polimorfismo implcicito o explicito. Hay ejemplos en la 
>>>>>> documentacion 
>>>>>> de NH.
>>>>>>
>>>>>> Un saludo
>>>>>>
>>>>>> ------------------------------****----
>>>>>> Carlos Peix
>>>>>>
>>>>>> 2012/10/8 mouthbow <[email protected]>
>>>>>>
>>>>>> Buenos días,
>>>>>>>
>>>>>>> Gracias por tus consejos. Reconozco que el modelo está basado en la 
>>>>>>> base de datos. Es decir, primero pienso que información voy a guardar, 
>>>>>>> luego diseño las tablas y finalmente hago los mappings.
>>>>>>> La aplicación la empecé en enero de 2010 y lleva mas de dos años 
>>>>>>> implantada y funcionando muy bien. Digo esto no para echarme flores 
>>>>>>> (nada 
>>>>>>> mas lejos de la realidad) sino para dejar patente que aunque se que 
>>>>>>> hago un 
>>>>>>> uso muy limitado de Nhibernate, considero que el trabajo que nos ahorra 
>>>>>>> es 
>>>>>>> gigante. Digo esto también para comentar que dada la situación no 
>>>>>>> podría 
>>>>>>> empezar desde cero con el modelo de datos (cosa que por otro lado me 
>>>>>>> encantaría porque hace tiempo que se que tiene lagunas).
>>>>>>> Otra cosa que me gustaría añadir es que he buscado en diferentes 
>>>>>>> ocasiones algún profesor de Nhibernate que quiera darme unas clases 
>>>>>>> para 
>>>>>>> mejorar y aclarar conceptos pero nunca he encontrado a nadie en España 
>>>>>>> que 
>>>>>>> pueda desplazarse a Baleares (cobrando claro...). ¿sabéis de alguno?
>>>>>>>
>>>>>>> Bueno, y dicho todo esto voy a intentar describir mejor el problema 
>>>>>>> / situación:
>>>>>>>
>>>>>>> La aplicación como es lógico tiene entidades separadas (con tabla 
>>>>>>> asociada en base de datos):
>>>>>>> -Clientes: Id, Nombre
>>>>>>> -Proveedores: Id, Nombre
>>>>>>> -Facturas: Id, CodigoCliente,.....
>>>>>>> -NotasElementos: Id, CodigoElementoAsociado,Nota
>>>>>>> -DocumentosElementos: Id, CodigoElementoAsociado, PathDocumento
>>>>>>>
>>>>>>> Todos los Ids son del tipo GUID lo que me permite almacenarlos donde 
>>>>>>> me interese.
>>>>>>> Por esa razón el CodigoElementoAsociado de las tablas NotasElementos 
>>>>>>> o DocumentosElementos pueden estar asociado a un Cliente, a un 
>>>>>>> Proveedor o 
>>>>>>> a lo que sea.
>>>>>>> Generalmente no me interesa mirar "A quien pertenece este mensaje" o 
>>>>>>> "a quien pertenece este documento". 
>>>>>>> Mas bien lo que hago es: Dado este cliente muestrame sus documentos 
>>>>>>> o sus notas lo cual lo hago a través del ID.
>>>>>>> Hasta ahora lo hago de forma separada mediante una query y me va 
>>>>>>> bien.
>>>>>>> Las Views las uso para sacar listados en pantalla mediante Grids. El 
>>>>>>> proyecto está desarrollado en WPF y si usara clases de entidades (o sea 
>>>>>>> sin 
>>>>>>> usar vistas) me vería obligado a usar Converters continuamente para 
>>>>>>> mostrar 
>>>>>>> la información tal y como deseo. por ejemplo para traducir un 
>>>>>>> CodigoCliente 
>>>>>>> en su Nombre correspondiente.
>>>>>>> Entiendo que otro modo (una vez están todas las relaciones y 
>>>>>>> mappings correspondientes) es ir saltando en propiedades y 
>>>>>>> subpropiedades 
>>>>>>> de cada DataItem para acceder desde la Entidad Factura a la Entidad 
>>>>>>> Cliente 
>>>>>>> y de ahí a su nombre, por ejemplo usando lazy=true. El problema que le 
>>>>>>> veo 
>>>>>>> a esto es que hay que mantener BindingPaths muy largos y que hay que 
>>>>>>> recuperar entidades enteras cuando uno solo quiere el nombre.
>>>>>>>
>>>>>>> Mi problema viene cuando alguien viene y me dice: Sácame todas las 
>>>>>>> facturas de clientes que tengan documentos entre FechaA o FechaB o 
>>>>>>> Sácame 
>>>>>>> todas las Facturas cuyos clientes tengan una nota con el texto 'pepito'.
>>>>>>>
>>>>>>> Y con eso llego a la pregunta del principio.
>>>>>>>
>>>>>>> Necesito mapear una lista, set, bag o lo que sea en la vista 
>>>>>>> ViewListadoFacturas. En esta Vista la clave primaria es el 
>>>>>>> CodigoFactura 
>>>>>>> pero yo quiero mapear una Lista (solo lectura) que me devuelva las 
>>>>>>> notas 
>>>>>>> del CodigoCliente que tiene asignado esa Factura.
>>>>>>>
>>>>>>> Bueno, espero haberme explicado. Perdon por el post tan largo, 
>>>>>>> espero que haya sido clarificador y podáis echarme una mano.
>>>>>>>
>>>>>>> Un saludo y muchísimas gracias si has llegado hasta aquí.
>>>>>>>
>>>>>>>
>>>>>>> El lunes, 8 de octubre de 2012 13:46:09 UTC+2, Carlos Peix escribió:
>>>>>>>>
>>>>>>>> Hola mouthbow,
>>>>>>>>
>>>>>>>> Algo que ayuda mucho en las consultas es que nos cuentes como es tu 
>>>>>>>> modelo (ademas de los mappings). Parece ser que tu enfoque esta muy 
>>>>>>>> orientado a la base de datos, por ejemplo con tu entidad 
>>>>>>>> ViewListadoFacturas.
>>>>>>>>
>>>>>>>> Es muy dificil entender (y mucho mas utilizar) un ORM si no dedicas 
>>>>>>>> un poco de tiempo a pensar tu modelo. En general los ORMs funciona 
>>>>>>>> mucho 
>>>>>>>> mejor y es mas facil usarlos, cuando tienes un modelo basados en 
>>>>>>>> objetos.
>>>>>>>>
>>>>>>>> Una de las opciones que tienes para resolver este problema es que 
>>>>>>>> todos los elementos que relacionas a tu coleccion implementen alguna 
>>>>>>>> interfaz o tengan una clase base, lo cual es razonable en un modelo de 
>>>>>>>> objetos, caso contrario, como podria manejarlos tu objeto si no tienen 
>>>>>>>> nada 
>>>>>>>> en comun?
>>>>>>>>
>>>>>>>> Has pensado en eso?
>>>>>>>>
>>>>>>>> ------------------------------******----
>>>>>>>> Carlos Peix
>>>>>>>>
>>>>>>>> 2012/10/8 mouthbow <[email protected]>
>>>>>>>>
>>>>>>>>> Hola Marcos,
>>>>>>>>>
>>>>>>>>> Ante todo muchísimas gracias por tu respuesta.
>>>>>>>>>
>>>>>>>>> He revisado el código que me mandas y no termino de ver como sabe 
>>>>>>>>> NHibernate la columna de origen con la que debe hacer el filtrado de 
>>>>>>>>> la 
>>>>>>>>> subcoleccion.
>>>>>>>>> Es decir, según esto:
>>>>>>>>>
>>>>>>>>>  <set name="NotasElementosList">
>>>>>>>>>       <key column="**CodigoElementoAsociado******" />
>>>>>>>>>       <one-to-many class="NotasElementos" />
>>>>>>>>>     </set>
>>>>>>>>>
>>>>>>>>> Entiendo que ahí dice: defino una coleccion llamada 
>>>>>>>>> NotasElementosList que se alimenta de la tabla NotasElementos, y debo 
>>>>>>>>> filtrar en esa tabla por el campo CodigoElementoAsociado.
>>>>>>>>> Sin embargo no dice en ningún sitio: Al filtrar por la columna 
>>>>>>>>> CodigoElementoAsociado debes utilizar el valor de la columna 
>>>>>>>>> CodigoCliente 
>>>>>>>>> (y no el id definido que es lo que supongo que haría, no?)
>>>>>>>>>
>>>>>>>>>  <set name="NotasElementosList">
>>>>>>>>>       <sourcekey column="**CodigoCliente" />
>>>>>>>>>       <key column="**CodigoElementoAsociado******" />
>>>>>>>>>       <one-to-many class="NotasElementos" />
>>>>>>>>>     </set>
>>>>>>>>>
>>>>>>>>> ¿Esto es posible?
>>>>>>>>>
>>>>>>>>> Gracias de nuevo!
>>>>>>>>>
>>>>>>>>> El sábado, 6 de octubre de 2012 01:05:08 UTC+2, Marcos Mellibovsky 
>>>>>>>>> escribió:
>>>>>>>>>
>>>>>>>>>> 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.**ViewListadoFac******turas, Assembly" 
>>>>>>>>>>> table="ViewListadoFacturas">
>>>>>>>>>>>  
>>>>>>>>>>> <id name="CodigoFactura" column="[CodigoFactura]" 
>>>>>>>>>>> type="System.Guid">
>>>>>>>>>>> <generator class="assigned"/>
>>>>>>>>>>> </id>
>>>>>>>>>>> <property name="CodigoCliente" column="[CodigoCliente]" 
>>>>>>>>>>> access="field.pascalcase-**under******score" 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-**under**
>>>>>>>>>>> ****score" 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-**under******score">
>>>>>>>>>>> <Source key>
>>>>>>>>>>> <column name="CodigoCliente" />
>>>>>>>>>>> </Source key>
>>>>>>>>>>> <Target key>
>>>>>>>>>>> <column name="CodigoElementoAsociado"/********>
>>>>>>>>>>>  </Target key>
>>>>>>>>>>> <one-to-many class="MyNamespace.**NotasElemen******tos, 
>>>>>>>>>>> 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: NHibernat...@**
>>>>>>>>> googlegroups.com
>>>>>>>>>
>>>>>>>>> Para más, visite: http://groups.google.com/**group****
>>>>>>>>> /NHibernate-Hispano<http://groups.google.com/group/NHibernate-Hispano>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  -- 
>>>>>>> Para escribir al Grupo, hágalo a esta dirección: NHibernat...@**
>>>>>>> googlegroups.com
>>>>>>> Para más, visite: http://groups.google.com/**group**
>>>>>>> /NHibernate-Hispano<http://groups.google.com/group/NHibernate-Hispano>
>>>>>>>
>>>>>>
>>>>>>  -- 
>>>>> Para escribir al Grupo, hágalo a esta dirección: NHibernat...@**
>>>>> googlegroups.com
>>>>> Para más, visite: 
>>>>> http://groups.google.com/**group/NHibernate-Hispano<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
>>>
>>
>>

-- 
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