Tôi biết các biến thể của câu hỏi này đã được hỏi trước (ngay cả tôi), nhưng tôi vẫn không hiểu một hay hai điều về ...Cách thích hợp để truy xuất hơn 128 tài liệu với RavenDB
It là sự hiểu biết của tôi rằng người ta có thể lấy tài liệu hơn các thiết lập 128 mặc định bằng cách làm này:
session.Advanced.MaxNumberOfRequestsPerSession = int.MaxValue;
Và tôi đã học được rằng một mệnh đề WHERE phải là một ExpressionTree thay vì một Func, do đó nó được coi là queryable thay của Enumerable. Vì vậy, tôi nghĩ rằng điều này sẽ hoạt động:
public static List<T> GetObjectList<T>(Expression<Func<T, bool>> whereClause)
{
using (IDocumentSession session = GetRavenSession())
{
return session.Query<T>().Where(whereClause).ToList();
}
}
Tuy nhiên, chỉ trả về 128 tài liệu. Tại sao?
Lưu ý, đây là mã mà gọi phương thức trên:
RavenDataAccessComponent.GetObjectList<Ccm>(x => x.TimeStamp > lastReadTime);
Nếu tôi thêm Đưa (n), sau đó tôi có thể có được càng nhiều tài liệu như tôi muốn. Ví dụ, đây trả về 200 tài liệu:
return session.Query<T>().Where(whereClause).Take(200).ToList();
Dựa trên tất cả những điều này, nó sẽ có vẻ rằng cách thích hợp để lấy hàng ngàn tài liệu là để thiết lập và sử dụng MaxNumberOfRequestsPerSession Đưa() trong truy vấn. Có đúng không? Nếu không, làm thế nào nên nó được thực hiện?
Đối với ứng dụng của mình, tôi cần truy xuất hàng nghìn tài liệu (có rất ít dữ liệu trong đó). Chúng tôi giữ các tài liệu này trong bộ nhớ và được sử dụng làm nguồn dữ liệu cho biểu đồ.
** EDIT **
tôi đã cố gắng sử dụng int.MaxValue ở Đưa tôi():
return session.Query<T>().Where(whereClause).Take(int.MaxValue).ToList();
Và đó trả về 1024. Argh. Làm cách nào để nhận được nhiều hơn 1024?
** EDIT 2 - Mẫu văn bản hiển thị dữ liệu **
{
"Header_ID": 3525880,
"Sub_ID": "120403261139",
"TimeStamp": "2012-04-05T15:14:13.9870000",
"Equipment_ID": "PBG11A-CCM",
"AverageAbsorber1": "284.451",
"AverageAbsorber2": "108.442",
"AverageAbsorber3": "886.523",
"AverageAbsorber4": "176.773"
}
Bạn có nghĩ đến việc đặt tất cả 10000 điểm vào trong một tài liệu dưới dạng bộ sưu tập không? – SteadyEddi