Περισσότερα
Πολλαπλά "order by" σε LINQ
Έχω δύο πίνακες, κινηματογραφικές ταινίες
και κατηγορίες
, και λαμβάνω μια ταξινομημένη λίστα με βάση το categoryID πρώτα και στη συνέχεια με βάση το Name.
Ο πίνακας ταινιών έχει τρεις στήλες ID, Όνομα και CategoryID. Ο πίνακας category έχει δύο στήλες ID και Name.
Δοκίμασα κάτι σαν το παρακάτω, αλλά δεν λειτούργησε.
var movies = _db.Movies.OrderBy( m => { m.CategoryID, m.Name })
1534
3
Αυτό θα πρέπει να δουλέψει για εσάς:
Χρησιμοποιώντας μη-lambda, σύνταξη ερωτημάτων LINQ, μπορείτε να το κάνετε αυτό:
[EDIT to address comment] Για να ελέγξετε τη σειρά ταξινόμησης, χρησιμοποιήστε τις λέξεις-κλειδιά
ascending
(η οποία είναι η προεπιλεγμένη και επομένως όχι ιδιαίτερα χρήσιμη) ήdescending
, όπως παρακάτω:Προσθέστε "new":
Αυτό λειτουργεί στο κουτί μου. Επιστρέφει κάτι που μπορεί να χρησιμοποιηθεί για την ταξινόμηση. Επιστρέφει ένα αντικείμενο με δύο τιμές.
Παρόμοιο, αλλά διαφορετικό από την ταξινόμηση με βάση μια συνδυασμένη στήλη, ως εξής.