Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách lấy bản ghi mới nhất cho từng nhóm bằng Entity Framework và MySQL bao gồm cả thực thể liên quan

Bạn không cần SqlQuery xây dựng để thực hiện thứ tự trước khi nhóm:

var refGroupQuery = from m in dbContext.Messages
     group m by m.receiver_id into refGroup
     let firstItem = refGroup.OrderByDescending(x => x.created_at)
                             .FirstOrDefault()
     select new MessageDTO { 
                              id = firstItem.id, 
                              content = firstItem.content,
                              sender_email = firstItem.sender.email
                           };

Điều này cũng thực hiện tương tự, nhưng nó dịch toàn bộ câu lệnh sang SQL, điều này có hai ưu điểm

  • sender không được tải chậm cho mỗi tin nhắn
  • sender.email không bị lỗi khi sender là null, bởi vì trong SQL không có tham chiếu đối tượng null. Toàn bộ biểu thức (sender.email ) chỉ trả về null.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. hiển thị các trường dữ liệu dưới dạng hộp kiểm, giữ lại giá trị đã kiểm tra và đặt giá trị là 1 khi được chọn

  2. Làm thế nào để gửi email khi thời gian trôi qua tự động đến những giờ cụ thể?

  3. php sql multi bind_param

  4. Cách định dạng dữ liệu theo cách cụ thể bằng html và php

  5. chuyển các hàng của bảng thành cột trong mysql