Tôi có Measurement
Đối tượng có Thuộc tính liên quan CreationTime
(Ngày giờ) và Reference
(Chuỗi) và một số giá trị khác.Thực thể khung - Truy vấn LINQ theo thứ tự và nhóm theo
Tôi muốn viết một truy vấn LINQ đạt hiệu suất tới DbContext
rằng
- nhóm
Measurement
đối tượng của tôi bằng một traoReference
- lệnh của nhóm bằng cách hoặc là
CreationTime
tài sản củaMeasurement
đầu tiên khỏi nhóm hoặc trung bình của các thuộc tínhCreationTime
- giới hạn truy vấn gần đây nhất
numOfEntries
(Trong bước sau để tính toán giá trị so với các nhóm này quay trở lại trung bình, nhưng tôi đoán đó là không thích hợp cho vấn đề của tôi.)
Các DbContext chính nó có một DbSet<Measurement>
gọi Measurements
giữ tất cả Measurement
đối tượng.
Tôi đã đưa ra truy vấn sau, kết quả trong Danh sách các nhóm được sắp xếp chính xác nhưng thiếu một số nhóm ở giữa.
var groupByReference = (from m in context.Measurements
orderby m.CreationTime
group m by new { m.Reference } into g
select g).Take(numOfEntries).ToList();
Làm cách nào để chọn các nhóm "gần đây nhất" là Measurement
?
Tôi đang sử dụng Khung thực thể 4.4 với Cơ sở dữ liệu MySQL (MySql Connector/Net 6.6.4). Ví dụ này được đơn giản hóa, tôi có thể đi vào chi tiết hơn và/hoặc đưa ra một ví dụ nếu cần thiết.
Cảm ơn!
Thay vì tính "trung bình của CreationTime ", bạn đã xem xét tính toán khoảng thời gian từ một điểm nhất định và sau đó xác định mức trung bình của những khoảng thời gian đó sau đó tính toán ngày kết quả dựa trên điểm đã cho và thời gian trung bình? –