JSON Cookbook
Thirteen copy-pasteable examples covering every extension method, every projection style, and every set / aggregation shape DynamicWhere.ex supports. Each example is the exact JSON your front-end would send.
Index
| # | Example | What it shows |
|---|---|---|
| 1 | Select — Field Projection | Direct scalars, dotted reference paths, dotted collection paths, whole objects, whole collections. |
| 2 | Where (single Condition) | Text IContains, Number Between, Date GreaterThan, DateTime Equal, Guid, Boolean, Enum In, IsNull, Text IIn. |
| 3 | Where (ConditionGroup) | AND group plus an AND/OR nested example, including the equivalent SQL. |
| 4 | Order — Sorting | Single OrderBy and multi-key OrderBy lists. |
| 5 | Page — Pagination | 1-indexed page number and explicit page size. |
| 6 | Group — GroupBy + Aggregations | Group by a field plus Count, Average, Maximum aggregations. |
| 7 | Filter — Typed | Full Filter request and the FilterResult<T> response shape. |
| 8 | Summary — Group + Aggregate + Having | Full Summary request plus SummaryResult response with flattened dotted aliases. |
| 9 | Segment — Set Operations | Union + Except across three condition sets, with logic note and response. |
| 11 | SelectDynamic — Dynamic Projection | All eight path-style variants — direct, dotted reference, dotted collection, multi-level, merged, whole object, whole collection, deep reference. |
| 12 | FilterDynamic — Dynamic Filter | Full Filter request returning FilterResult<dynamic>, plus the projection-rule note. |
| 13 | Nested Collection Navigation | Field path through a collection — the library wraps it in .Any() lambdas. |
How to use these
Every JSON body on these pages is the literal payload an HTTP client would POST to your endpoint. Bind it to the matching shape (Filter, Segment, Summary, or a raw ConditionGroup) and pass it to the corresponding extension method.