- 
    Type:
Improvement
 - 
    Resolution: Duplicate
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: 2.4.1
 - 
    Component/s: LINQ
 - 
    None
 - 
    Environment:.NET Core
 
- 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
Hi! If I use a lot of expressions "where" we end up with many operators $match. I wish the output was a single operator $match
Exmaple:
            if (filter.RoomCounts?.Count > 0)
            {
                realEstates = realEstates.Where(r => filter.RoomCounts.Contains(((Room)r.Unit).RoomCount));
            }
            if (filter.HouseTypes != null)
            {
                realEstates = realEstates.Where(r => filter.HouseTypes.Contains(((Room)r.Unit).HouseType));
            }
Translate to
        {
            "$match": {
                "real_estate_status": {
                    "$in": [
                        1
                    ]
                }
            }
        },
        {
            "$match": {
                "unit.operation_type": {
                    "$in": [
                        2
                    ]
                }
            }
        },
But this is better
            "$match": {
                "real_estate_status": {
                    "$in": [
                        1
                    ]
                },
                "unit.operation_type": {
                    "$in": [
                        2
                    ]
                }
            }
- duplicates
 - 
                    
CSHARP-1838 Merge multiple .Where() clauses to a single $match before querying
-         
 - Closed
 
 -