Hola gente, Estoy teniendo un problema y no le encuentro la vuelta. Usando NHibernate con Criteria Queries tengo una entidad que es cabecera-detalle y cuando obtengo una lista en la cual debo condicionar el detalle me trae un objeto (cabecera) por cada detalle que tenga. El ejemplo sería así, basado en movimientos de stock:
Tengo 2 movimientos: - MOVIMIENTO 1 - MOVIMIENTO 2 Detalle de MOVIMIENTO 1: - PRODUCTO A - ENTRADA x 10 - POSICION 001 - PRODUCTO A - ENTRADA x 20 - POSICION 002 Detalle de MOVIMIENTO 1: - PRODUCTO B - ENTRADA x 10 - POSICION 001 - PRODUCTO B - ENTRADA x 20 - POSICION 002 Si obtengo una lista condicionando los movimientos con PRODUCTO A, estoy recibiendo una lista que contiene 2 cabeceras, con 2 detalles cada una. Si inspeccionó dicha lista veo que es el mismo movimiento (MOVIMIENTO 1) duplicado. Ese es el problema, el cual estoy resolviendo con agrupación luego de obtener la lista. El mapping contra los detalles lo tengo así: CABECERA <bag name="Detalles" table="DetalleMovimiento" inverse="true" cascade="all,delete-orphan" lazy="true"> <key column="IdMovimiento"/> <one-to-many class="DetalleMovimiento"/> </bag> DETALLE <many-to-one name="Movimiento" column="IdMovimiento" class="Movimiento" foreign-key="FK_DetalleMovimiento_Movimiento"/> Luego a través de Criteria Queries lo que hago es: nhCriteria = nhCriteria.CreateCriteria("Detalles", NHibernate.SqlCommand.JoinType.InnerJoin); nhCriteria.Add(Restrictions.Eq("Producto", productoAFiltrar)); Eso es todo (creo), agradezco cualquier sugerencia o ayuda, tal vez es un error común, las soluciones que encontré navegando no me dieron resultado. Espero haber sido claro y desde ya agradezco el tiempo robado! Aprovecho para saludarlos y agradecer todos los aportes que hacen. César -- -- Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano@googlegroups.com Para más, visite: http://groups.google.com/group/NHibernate-Hispano --- Has recibido este mensaje porque estás suscrito al grupo "NHibernate-Hispano" de Grupos de Google. Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a nhibernate-hispano+unsubscr...@googlegroups.com. Para obtener más opciones, visita https://groups.google.com/d/optout.