Ich versuche, eine dynamische Reihenfolge von auf Spalten mit Marc Gravell-Code zu tun. Ich poste die 2 Fragen. Es funktioniert in einem Fall, funktioniert aber im zweiten Fall nicht. Kann mir jemand sagen, welche Änderungen ich vornehmen muss, damit beide Abfragen perfekt ablaufen?Marc Gravell Dynamic OrderBy funktioniert in einem Fall, aber nicht in anderen
Dies ist der Link zur Antwort des Marc GRA:
https://stackoverflow.com/a/233505
I Northwind-Datenbank verwenden. Dies sind meine beiden Anfragen:
var query = (from cust in northwindEntities.Customers
select new
{
City = cust.City ,
Orders = northwindEntities.Orders
.Where(o => o.CustomerID == cust.CustomerID)
.OrderBy("OrderID")
}); // doesn't work.
var query = (from cust in northwindEntities.Customers
select new
{
City = cust.City ,
//Orders = northwindEntities.Orders.Where(o => o.CustomerID == cust.CustomerID).
// OrderBy("OrderID")
}).OrderBy("City"); // works
Hier ist die Ausnahme von der ersten Abfrage:
LINQ to Entities erkennt nicht die Methode ‚System.Linq.IOrderedQueryable
1[ConsoleApplication12.Order] OrderBy[Order](System.Linq.IQueryable
1 [ConsoleApplication12.Order] , System.String) 'Methode, und diese Methode kann nicht in einen Speicherausdruck übersetzt werden.
Was funktioniert nicht? –
@ ta.speot.is: Ausnahme wurde bereits veröffentlicht. Bitte sehen Sie meine Bearbeitung. – Jaggu
Sollte wahrscheinlich 'Orders = cust.Orders.OrderBy (" OrderID ")' sein. Nicht sicher, ob das dein Problem jedoch beheben wird. –