Estoy usando NHibernate para consultar mi base de datos con la API de criterios. Mi criterio es a continuación:NHibernate Projections y la cláusula "Having"
ICriteria c = Session.CreateCriteria(typeof(Transaction));
ProjectionList projections = Projections.ProjectionList();
projections.Add(Projections.Sum("Units"), "Units");
projections.Add(Projections.GroupProperty("Account"), "Account");
projections.Add(Projections.GroupProperty("Security"), "Security");
c.SetProjection(projections);
Esto está trabajando muy bien, pero lo que me gustaría es una manera de ser capaz de limitar la consulta a devolver sólo cuando la propiedad "Unidades" es> 0. En SQL lo haría simplemente nosotros una cláusula Having Units > 0
sin embargo no he podido encontrar una manera de hacer esto en NHibernate. ¿Alguien tiene alguna idea o es mi única opción para usar HQL?
desafortunadamente, esto no funciona del todo como yo quería. La restricción se aplica en la cláusula WHERE en lugar de en una cláusula having. El resultado final es que cada fila individual está restringida en lugar de la suma de todas las filas. – lomaxx
Extraño, podría jurar que lo he usado antes y funcionó. Desafortunadamente, la mejor documentación que puedo encontrar es el envío del parche: http://nhjira.koah.net/browse/NH-1280. –
gracias por la información ... parece que tendremos que esperar a 2.1.0 antes de que esto sea compatible. Creo que está integrado en Hibernate pero NHibernate todavía está esperando – lomaxx