如何使用MongoDB C#驱动程序有条件地组合过滤器?

bob*_*lex 13 c# mongodb

考虑以下过滤器:

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);
Run Code Online (Sandbox Code Playgroud)

如何组合criteriaFilterfilter

Ser*_*kiy 24

if (criteria.CategoryId != 0)
{
    var criteriaFilter = builder.Eq(i => i.CategoryId, criteria.CategoryId);
    filter = filter & criteriaFilter;
}
Run Code Online (Sandbox Code Playgroud)

  • 好吧...现在我感到非常愚蠢。谢谢谢尔盖。 (2认同)
  • 如何合并两个过滤器? (2认同)