Дозвуковая ошибка: предложение ORDER BY недопустимо ...., если также не указан TOP или FOR XML - PullRequest
0 голосов
/ 21 июня 2011

Я использую 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 Ответ

1 голос
/ 21 июня 2011

Вы должны отладить сгенерированный запрос, который SubSonic возвращает:

var queryString = queryResTitle.BuildSqlStatement();

и запустите его в своем любимом инструменте администрирования базы данных. Может быть, вы можете выяснить, что происходит не так.

...