group-by-Subsonic错误:ORDER by子句无效..,除非还指定了TOP或FOR XML



我正在使用Subsonic 2.1,下一个查询出现错误:

SqlQuery queryResTitle = new Select(
    new Aggregate(ResTitle.ResourceTitleIDColumn, "ResourceTitleID", AggregateFunction.GroupBy),
    new Aggregate(ResTitle.ResourceTitleColumn, "ResourceTitle", AggregateFunction.GroupBy),
    new Aggregate(VenVendor.TitleColumn, "Title", AggregateFunction.GroupBy),
    new Aggregate(ResTitleStatus.StatusColumn, "Status", AggregateFunction.GroupBy))
  .From(Tables.ResTitleOngoing)
  .InnerJoin(ResTitleStatus.ResourceTitleIDColumn, ResTitle.ResourceTitleIDColumn)
  .LeftOuterJoin(VenVendor.VendorIDColumn, ResTitle.VendorIDColumn);

我得到错误:

"ORDER BY子句在中无效视图,内联函数,派生表、子查询和公用表表达式,除非TOP或FOR XML还指定了"

我还添加了.Top("1"),但仍然出现了相同的错误。

您应该调试SubSonic返回的生成查询:

var queryString = queryResTitle.BuildSqlStatement();

并在您喜欢的数据库管理工具中执行它。也许你能弄清楚出了什么问题。

最新更新