Giả sử tôi có một IQueryable
sẽ trả về kiểu dữ liệu với thuộc tính ID
(cột).Truy vấn LINQ chỉ cho N hàng đầu tiên cho mỗi ID duy nhất
Tôi muốn lọc thêm truy vấn của tôi (Tôi không muốn đánh giá các truy vấn) như sau:
Đối với mỗi độc đáo ID
từ truy vấn chính, tôi muốn Take(n)
, nơi n
là một số tùy ý con số.
Tức là, tôi chỉ muốn giữ n
hàng đầu tiên cho mỗi ID duy nhất.
tôi có thể nhận được rõ rệt ID
's ...
var ids = query.Select(q => q.ID).Distinct();
và tôi có thể Take(n)
với phần còn lại của họ, nhưng tôi đang bối rối về kết nối hai:
query = query.<FOR EACH DISTINCT ID>.Take(n);
Câu trả lời được chấp nhận hoạt động, nhưng chậm đối với một bảng lớn. Tôi đã viết this question để theo dõi.