In meiner Demo habe ich drei Tabellen in der Datenbank, TProduct, TCategory und TProductCategoryMap.So erhalten Sie eine komplizierte PagedList mit SS3
TProduct (ProductId int PK, OtherFields)
TCategory (CategoryId int PK, OtherFields)
TMap (ProductId int PK, CategoryId int PK)
Nun, ich brauche ein PagedList zu bekommen von Produkten mit bestimmten Kategorieid.
Hier ist mein Code:
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;
Wenn ich hier und zurück Produkte stoppen, alles ist in Ordnung. Aber wenn ich einen pagedlist wie folgt zurück:
return new PagedList<TProduct>(products, pageIndex, pageSize);
der generierten SQL-Text wird einen Syntaxfehler verursachen „Die Rangliste Funktion‚ROW_NUMBER‘. Muss eine ORDER BY-Klausel“
Habe ich die falsche Verwendung linq Ausdruck? Wie kann ich dann ein korrektes Ergebnis erhalten?
Geben Sie mir einen Rat, danke. Diese
Vielen Dank für die schnelle Antwort –