--
--
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+unsub...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
--
Para escribir al Grupo, hágalo a esta dirección: NHibernat...@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-hisp...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
--
Para escribir al Grupo, hágalo a esta dirección: NHibernat...@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-hisp...@googlegroups.com.
Hola gente!
Bueno he logrado solucionar el problema en forma más óptima y les dejo la forma en que lo hice por si otro se topa con lo mismo.
Anteriormente lo que hacía era agrupar por Id de la cabecera luego de obtener la lista, pero esta claro que esto a nivel performance no es lo ideal, así que encontré la forma de hacer un DISTINCT desde Criteria Queries
Si recuerdan yo creaba el criteria de esta forma:
nhCriteria = nhCriteria.CreateCriteria("Detalles", NHibernate.SqlCommand.JoinType.InnerJoin);
Pero para que funcione como les mencioné hay que hacer lo siguiente:var detallesCriteria = DetachedCriteria.For<DetalleMovimientoDeRetornables>().SetProjection(Projections.Distinct(Projections.Property("MovimientoDeRetornables.Id")));
detallesCriteria.Add(Restrictions.Eq("Producto", productoAFiltrar));nhCriteria.Add(Subqueries.PropertyIn("Id", detallesCriteria));
Con esto quedó funcionando a la perfección.
Saludos!
César
El mié., 14 sept. 2016 a las 17:52, César Pistiner (<chpis...@gmail.com>) escribió:
No es eso Juan José, muchas gracias de todas formas.
Sigo con el problema. Yo pensé que era algo del mapping porque si condiciono solamente por atributos de la cabecera anda perfecto, el tema está cuando creo el Criteria del detalle.
Saludos y gracias!
--
--
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+unsub...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
--
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+unsub...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
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+unsub...@googlegroups.com.
Gracias por compartir la solución genio!----------------------------------
Carlos Peix
2016-09-15 15:52 GMT-03:00 César Pistiner <chpis...@gmail.com>:
Hola gente!
Bueno he logrado solucionar el problema en forma más óptima y les dejo la forma en que lo hice por si otro se topa con lo mismo.
Anteriormente lo que hacía era agrupar por Id de la cabecera luego de obtener la lista, pero esta claro que esto a nivel performance no es lo ideal, así que encontré la forma de hacer un DISTINCT desde Criteria Queries
Si recuerdan yo creaba el criteria de esta forma:
nhCriteria = nhCriteria.CreateCriteria("Detalles", NHibernate.SqlCommand.JoinType.InnerJoin);
Pero para que funcione como les mencioné hay que hacer lo siguiente:var detallesCriteria = DetachedCriteria.For<DetalleMovimientoDeRetornables>().SetProjection(Projections.Distinct(Projections.Property("MovimientoDeRetornables.Id")));
detallesCriteria.Add(Restrictions.Eq("Producto", productoAFiltrar));nhCriteria.Add(Subqueries.PropertyIn("Id", detallesCriteria));
Con esto quedó funcionando a la perfección.
Saludos!
César
El mié., 14 sept. 2016 a las 17:52, César Pistiner (<chpis...@gmail.com>) escribió:
No es eso Juan José, muchas gracias de todas formas.
Sigo con el problema. Yo pensé que era algo del mapping porque si condiciono solamente por atributos de la cabecera anda perfecto, el tema está cuando creo el Criteria del detalle.
Saludos y gracias!
--
--
Para escribir al Grupo, hágalo a esta dirección: NHibernat...@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-hisp...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
--
Para escribir al Grupo, hágalo a esta dirección: NHibernat...@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-hisp...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
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-hisp...@googlegroups.com.
--
--
Para escribir al Grupo, hágalo a esta dirección: NHibernat...@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-hisp...@googlegroups.com.