Buenas gente, tengo una duda sobre cómo hacer algo con Criteria. Tengo una
clase ItemPedido, que tiene el producto, color, talle y cantidad pedida
entre otras propiedades (producto, talle y color son entidades). Necesito
hacer un listado de cantidades pedidas por producto, color y talle. Hasta
ahora hice esto:
HibernateSession.CreateCriteria<ItemPedido>()
.CreateAlias("Pedido", "p")
.Add(Restrictions.Between("p.FechaPedido", desde, hasta))
.SetProjection(Projections.ProjectionList()
.Add(Projections.GroupProperty("Producto"))
.Add(Projections.GroupProperty("Color"))
.Add(Projections.GroupProperty("Talla"))
.Add(Projections.Sum("CantidadPedido"))
).List()
Lo cual funciona perfectamente, me hace el group by y suma las cantidades.
Ahora bien, cuando quiero mostrar en el listado el nombre del producto, la
descripción del talle y del color, va de nuevo a la base a buscar cada
entidad. Yo lo que quiero es ya traerme las entidades materializadas, para
hacer un solo viaje a la base de datos. Probé poniendo un
SetFetchMode("Color", FetchMode.Join) y me hace el join en la consulta,
pero se queda solo con el Id y después tiene que ir de nuevo a buscar el
producto (esto supongo que es así por el groupby).
¿Alguien me puede decir cómo puedo hacer lo que quiero? (Si es que se
puede...)
Gracias!
José
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano