Как получить сложный PagedList с использованием SS3 - PullRequest
0 голосов
/ 15 июля 2009

В моей демонстрации у меня есть три таблицы в базе данных: TProduct, TCategory и TProductCategoryMap.

TProduct (ProductId int PK, OtherFields)
TCategory (CategoryId int PK, OtherFields)
TMap (ProductId int PK, CategoryId int PK)

Теперь мне нужно получить PagedList продуктов с определенным идентификатором категории.

Вот мой код:

  IQueryable<Product> products = from product in _repo.All<TProduct>()
                                 join map in _repo.All<TMap>() on product.ProductId equals map.ProductId
                                 where map.CategoryId == specificCagetoryId
                                 select product;

Если я остановлюсь здесь и верну продукты, все в порядке. Но если я верну список, подобный этому:

   return new PagedList<TProduct>(products, pageIndex, pageSize);

сгенерированный текст sql вызовет синтаксическую ошибку "Функция ранжирования" ROW_NUMBER "должна содержать предложение ORDER BY."

Я использую неправильное выражение linq? Тогда как я могу получить правильный результат?

Дайте мне несколько советов, спасибо.

Ответы [ 2 ]

1 голос
/ 15 июля 2009

Я исправил эту ошибку с ... прямо сейчас! Выпустим следующий релиз когда-нибудь сегодня.

1 голос
/ 15 июля 2009
...