Example 3: Where (ConditionGroup)
A ConditionGroup passed to Where<T>. Groups can nest indefinitely via SubConditionGroups.
AND group
{
"connector": "And",
"conditions": [
{
"sort": 1,
"field": "Name",
"dataType": "Text",
"operator": "IContains",
"values": ["john"]
},
{
"sort": 2,
"field": "Age",
"dataType": "Number",
"operator": "GreaterThanOrEqual",
"values": ["18"]
}
],
"subConditionGroups": []
}Nested groups (AND with nested OR)
{
"connector": "And",
"conditions": [
{
"sort": 1,
"field": "IsActive",
"dataType": "Boolean",
"operator": "Equal",
"values": ["true"]
}
],
"subConditionGroups": [
{
"sort": 1,
"connector": "Or",
"conditions": [
{
"sort": 1,
"field": "Role",
"dataType": "Text",
"operator": "Equal",
"values": ["Admin"]
},
{
"sort": 2,
"field": "Role",
"dataType": "Text",
"operator": "Equal",
"values": ["Manager"]
}
],
"subConditionGroups": []
}
]
}Note
Equivalent SQL:
WHERE IsActive = true AND (Role = 'Admin' OR Role = 'Manager')