2009-07-15 7 views
0

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

Antwort

1

Ich reparierte diesen Fehler ab ... jetzt! Wird die nächste Veröffentlichung irgendwann heute pushen.

+0

das ist toll, Rob. Vielen Dank –

+0

In welcher Version ist dieses Update gefunden oder müssen Sie die Quelle herunterladen –

Verwandte Themen