2015-06-01 12 views
9

Hãy xem xét các bộ lọc sau:Làm cách nào để kết hợp các bộ lọc có điều kiện bằng trình điều khiển MongoDB C#?

var builder = Builders<Product>.Filter; 

var filter = builder.Gte(i => i.Price, criteria.MinPrice) & 
          builder.Lte(i => i.Price, criteria.MaxPrice); 
if (0 != criteria.CategoryId) 
//Combine the following filter with the previous filter. How?? 
       var criteriaFilter = builder.Eq(i => i.CategoryId, criteria.CategoryId); 

Làm thế nào để kết hợp các criteriaFilterlọc?

Trả lời

14
if (criteria.CategoryId != 0) 
{ 
    var criteriaFilter = builder.Eq(i => i.CategoryId, criteria.CategoryId); 
    filter = filter & criteriaFilter; 
} 
+1

Ok ... bây giờ tôi cảm thấy cực kỳ ngu ngốc. Cảm ơn Sergey. – bobbyalex

Các vấn đề liên quan