-
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
-