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