在我的演示中,我在数据库中有三个表,TProduct,TCategory和TProductCategoryMap。
TProduct(ProductId int PK,OtherFields)
TCategory(CategoryId int PK,OtherFields)
TMap(ProductId int PK,CategoryId int PK)
现在,我需要获得具有特定categoryid的产品的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表达式吗?那我怎样才能得到正确的结果呢?
给我一些建议,谢谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
我现在修复了这个错误...将在今天某个时候推出下一个版本。