C# 亚音速3查询-聚合错误

C# 亚音速3查询-聚合错误,c#,sql,subsonic3,C#,Sql,Subsonic3,我正在使用聚合创建一个简单的查询。例如: string query = new SubSonic.Query.Select( SubSonic.Query.Aggregate.GroupBy("ProductID", "ID"), SubSonic.Query.Aggregate.Max("Price", "MaxPrice") ).From("Orders").ToString(); Sql结果是: SELECT ProductID AS ID, MAX(Pri

我正在使用聚合创建一个简单的查询。例如:

string query = new SubSonic.Query.Select(
      SubSonic.Query.Aggregate.GroupBy("ProductID", "ID"),
      SubSonic.Query.Aggregate.Max("Price", "MaxPrice")
   ).From("Orders").ToString();
Sql结果是:

SELECT ProductID AS ID, MAX(Price) AS MaxPrice
FROM [Orders]
结果应为:

SELECT ProductID AS ID, MAX(Price) AS MaxPrice
FROM [Orders]
GROUP BY ProductID
在SubSonic2.2中,结果是正确的,但在Subsonic3中,GROUPBY语句消失,查询只返回一行


我的SqlQuery表达式是正确的还是在SubSonic3中有缺陷?

不完全确定确切的语法,我使用

MyTableClass.All().Max

但您的示例看起来是错误的,因为您的groupBy位于select中。groupBy不是select的一部分,因此您可能需要将该groupBy移到select之外

谢谢您的回复,但我需要每个产品的最高价格。我可以重写查询:sqlqueryquery1=newselect().From(“订单”);query1.Aggregates=新列表{new Aggregate(“ProductID”,“ID”,AggregateFunction.GroupBy),new Aggregate(“Price”,AggregateFunction.Max)};Show(query1.ToString());但同样的结果是,我需要'GROUP BY ProductID'sql子句来获取每个产品的最高价格。问题是SqlQuery在sql查询中没有生成'GROUP BY ProductID'部分