Sắp xếp Order By nhiều cột trong LinQ, Order By multiple columns LinQ MVC C# Asp.net

Thảo luận trong 'Lập Trình Website MVC5 & MVC6' bắt đầu bởi seolagi, 8/8/18.

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,029
    Đã được thích:
    81
    Điểm thành tích:
    48
    Mình có 3 cột cần sắp xếp theo thứ tự khi select trong LinQ sử dụng code c# asp.net mô hình MVC. Sắp xếp Order By nhiều cột trong LinQ, Order By multiple columns LinQ MVC C# Asp.net.

    Dữ liệu mình có bảng tabaleA và có các cột colSeq (kiểu int), colLatest (kiểu bool), colDatetime (kiểu datetime).
    • Mình muốn sắp xếp theo thứ tự các cột colSeq (nhỏ đến lớn) trước, sau đó tới colLatest (được chọn là true) và tới colDatetime (chọn ngày mới nhất).
    Mình dùng code mà báo lỗi không được: Error ....
    Mã:
    var model = dbc.Products
        .OrderBy(p=>p.colSeq)
        .OrderBy(p=>p.colLatest)
        .OrderByDescending(p => p.colDatetime)             
        .ToList();
    
    • Giúp mình với, cảm ơn
     
    Cảm ơn đã xem bài:

    Sắp xếp Order By nhiều cột trong LinQ, Order By multiple columns LinQ MVC C# Asp.net

    admin thích bài này.
  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,902
    Đã được thích:
    1,199
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Của bạn đây:
    Mã:
    var model = dbc.Products
        .OrderBy(p=>p.colSeq)
        .ThenBy(p=>p.colLatest)
        .ThenByDescending(p => p.colDatetime)            
        .ToList();
    
    • Cái đầu tiên bạn sẽ gọi đúng hàm OrderBy hoặc OrderByDescending.
    Các hàm sắp xếp tiếp theo bạn sẽ gọi tương ứng như:
    • ThenBy ~~ OrderBy
    • ThenByDescending ~~ OrderByDescending
     
    seolagi thích bài này.
  3. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,029
    Đã được thích:
    81
    Điểm thành tích:
    48
    Cảm ơn ad, đúng cái mình cần, chạy khá ok, thanks nhiều
     
    admin thích bài này.