Example 13: Nested Collection Navigation
When a field path traverses a collection property (e.g. Orders.OrderItems.ProductName), the library automatically wraps the inner segment in a .Any() lambda — so the predicate evaluates per-element.
Condition
{
"sort": 1,
"field": "Orders.OrderItems.ProductName",
"dataType": "Text",
"operator": "IContains",
"values": ["laptop"]
}Generated expression
Note
Generated expression:
Orders.Any(i1 => i1.OrderItems.Any(i2 => i2.ProductName != null && i2.ProductName.ToLower().Contains("laptop")))Each collection segment in the path becomes another nested .Any() level — so deep paths through collections compose cleanly into a single boolean expression EF Core can translate.