Ich bin sicher, dass dies relativ einfach sein wird.
Ich habe eine LINQ-Abfrage, die ich bis zum zuletzt erstellten Datum bestellen möchte.
Sehen:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Ich habe auch versucht:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
aber das gibt einen Fehler:
Keine Überladung für die Methode 'OrderByDescending' erfordert 0 Argumente
Nach dem, was ich gelesen habe, bin ich mir ziemlich sicher, dass der erste Weg, den ich gemacht habe, funktionieren sollte. Ich habe versucht, absteigend in aufsteigend zu wechseln, um zu sehen, ob es etwas bewirkt, aber es bleibt gleich.
Ich wäre dankbar, wenn jemand einen Blick auf die Abfrage werfen und sehen könnte, ob ich etwas falsch mache. Vielen Dank :)
quelle
Ich denke, dies ist zuerst fehlgeschlagen, weil Sie einen Wert bestellen, der null ist. Wenn Delivery eine mit einem Fremdschlüssel verknüpfte Tabelle ist, sollten Sie diese Tabelle zuerst einschließen, Beispiel unten:
quelle
Ich denke der zweite sollte sein
quelle
Nur um es in einem anderen Format anzuzeigen, das ich aus irgendeinem Grund lieber verwende: Der erste Weg gibt Ihre itemList als System.Linq.IOrderedQueryable zurück
Dieser Ansatz ist in Ordnung, aber wenn Sie ihn direkt in ein Listenobjekt einfügen möchten:
Sie müssen lediglich einen Aufruf von .ToList () an das Ende der Abfrage anhängen.
Ich kann mich nicht erinnern, ob der Ausdruck! (Nicht) im Aufruf von Where () akzeptabel ist.
quelle