Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用MongoDB C#驱动程序有条件地组合过滤器?_C#_Mongodb - Fatal编程技术网

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

如何使用MongoDB C#驱动程序有条件地组合过滤器?,c#,mongodb,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 follow

考虑以下过滤器:

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);
var builder=Builders.Filter;
var filter=builder.Gte(i=>i.Price,criteria.MinPrice)&
Lte(i=>i.Price,criteria.MaxPrice);
如果(0!=criteria.CategoryId)
//将以下筛选器与上一个筛选器组合。怎样??
var-criteriaFilter=builder.Eq(i=>i.CategoryId,criteria.CategoryId);
如何组合标准过滤器和过滤器

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