Jestem pewien, że będzie to stosunkowo proste.
Mam zapytanie LINQ, które chcę zamówić według ostatnio utworzonej daty.
Widzieć:
var itemList = from t in ctn.Items
where !t.Items && t.DeliverySelection
orderby t.Delivery.SubmissionDate descending
select t;
Próbowałem też:
var itemList = (from t in ctn.Items
where !t.Items && t.DeliverySelection
select t).OrderByDescending();
ale to powoduje błąd:
Brak przeciążenia dla metody „OrderByDescending” wymaga 0 argumentów
Z tego, co przeczytałem, jestem całkiem pewien, że pierwszy sposób, w jaki to zrobiłem, powinien zadziałać. Próbowałem zmienić malejącą na rosnącą, aby zobaczyć, czy coś robi, ale pozostaje niezmienione.
Byłbym wdzięczny, gdyby ktoś mógł rzucić okiem na zapytanie i sprawdzić, czy robię coś złego. Dzięki :)
źródło
Myślę, że to pierwsze nie powiodło się, ponieważ zamawiasz wartość, która jest zerowa. Jeśli dostawa jest tabelą powiązaną z kluczem obcym, najpierw należy dołączyć tę tabelę, przykład poniżej:
źródło
Myślę, że drugi powinien być
źródło
Aby pokazać go w innym formacie, z którego wolę korzystać z jakiegoś powodu: Pierwszy sposób zwraca twoją itemList jako System.Linq.IOragedQueryable
Takie podejście jest w porządku, ale jeśli chcesz bezpośrednio do obiektu listy:
Wszystko, co musisz zrobić, to dołączyć wywołanie .ToList () na końcu zapytania.
Coś, na co należy zwrócić uwagę, nie mogę sobie przypomnieć, czy wyrażenie! (Nie) jest dopuszczalne w wywołaniu Where ().
źródło