亚音速错误:ORDER BY子句无效....,除非还指定了TOP或FOR XML

时间:2011-06-20 23:40:23

标签: group-by aggregate subsonic

我正在使用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"),但我仍然遇到了同样的错误。

1 个答案:

答案 0 :(得分:1)

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

var queryString = queryResTitle.BuildSqlStatement();

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