C# HQL中的avg聚合函数导致NHibernate出现问题,我的查询有什么问题?
HQL查询有问题。如果我从中删除avg(..),它将返回所有空权重,因此avg函数有问题。在Nhibernate文档中似乎很清楚,我可以像这样对select项执行聚合函数。我的问题是否与query.ToList有关?我不喜欢返回一个事物的列表?我刚刚收到“无法执行查询[SQL:SQL不可用]消息C# HQL中的avg聚合函数导致NHibernate出现问题,我的查询有什么问题?,c#,nhibernate,hql,C#,Nhibernate,Hql,HQL查询有问题。如果我从中删除avg(..),它将返回所有空权重,因此avg函数有问题。在Nhibernate文档中似乎很清楚,我可以像这样对select项执行聚合函数。我的问题是否与query.ToList有关?我不喜欢返回一个事物的列表?我刚刚收到“无法执行查询[SQL:SQL不可用]消息 public List<T> HQLQuery<T>(string HQL) //in UnitOfWork { var query = session
public List<T> HQLQuery<T>(string HQL) //in UnitOfWork
{
var query = session.CreateQuery(HQL);
return query.List<T>().ToList<T>();
}
public static float estimateTruckEmptyWeight(int vehicleID)
{
UnitOfWork uow = new UnitOfWork();
List<float> results = uow.HQLQuery<float>("select avg(ev.EmptyWeight) from FieldSystemCore.Domain.EmptyVehicle ev where ev.Vehicle.ID = '" + vehicleID + "'");
return results[0];
}
公共列表HQLQuery(字符串HQL)//在UnitOfWork中
{
var query=session.CreateQuery(HQL);
返回query.List().ToList();
}
公共静态浮动估计卡车重量(内部车辆ID)
{
UnitOfWork uow=新UnitOfWork();
列表结果=uow.HQLQuery(“从FieldSystemCore.Domain.EmptyVehicle ev中选择平均值(ev.EmptyWeight),其中ev.Vehicle.ID='“+vehicleID+””;
返回结果[0];
}
问题原来是因为avg返回Nhibernate中的double,而不是float
我希望异常能给我一个这样的线索。问题原来是因为avg返回的是Nhibernate中的双精度,而不是float
我希望异常能给我一个线索,说明情况是这样的。这是数据库提供程序,不确定,数据库中的所有内容都记录在浮点数中。文档特别提到了avg(…)始终返回double。这是数据库提供程序,不确定,数据库中的所有内容都记录在float中。文档特别指出,avg(..)始终返回double。