You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-9Lines changed: 5 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,7 +129,7 @@ Notes:
129
129
- Single-record `create` still returns the full entity representation.
130
130
-`@odata.type` handling: If any payload in the list omits `@odata.type`, the SDK performs a one-time metadata query (`EntityDefinitions?$filter=EntitySetName eq '<entity_set>'`) to resolve the logical name, caches it, and stamps each missing item with `Microsoft.Dynamics.CRM.<logical>`. If **all** payloads already include `@odata.type`, no metadata call is made.
131
131
- The metadata lookup is per entity set and reused across subsequent multi-create calls in the same client instance (in-memory cache only).
132
-
- You can explicitly set `@odata.type` yourself (e.g., for polymorphic scenarios); the SDK will not override it.
-`page_size`: int | None — Per-page hint using Prefer: `odata.maxpagesize=<N>` (not guaranteed; last page may be smaller).
163
163
164
164
Return value & semantics
165
+
-`$select`, `$filter`, `$orderby`, `$expand`, `$top` map directly to corresponding OData query options on the first request.
166
+
-`$top` caps total rows; the service may partition those rows across multiple pages.
167
+
-`page_size` (Prefer: `odata.maxpagesize`) is a hint; the server decides actual page boundaries.
165
168
- Returns a generator yielding non-empty pages (`list[dict]`). Empty pages are skipped.
166
169
- Each yielded list corresponds to a `value` page from the Web API.
167
170
- Iteration stops when no `@odata.nextLink` remains (or when `$top` satisfied server-side).
@@ -199,13 +202,6 @@ for page in pages: # page is list[dict]
199
202
print({"page_size": len(page)})
200
203
```
201
204
202
-
Semantics:
203
-
-`$select`, `$filter`, `$orderby`, `$expand`, `$top` map directly to corresponding OData query options on the first request.
204
-
-`$top` caps total rows; the service may partition those rows across multiple pages.
205
-
-`page_size` (Prefer: `odata.maxpagesize`) is a hint; the server decides actual page boundaries.
206
-
- The generator follows `@odata.nextLink` until exhausted (service already accounts for `$top`).
207
-
- Only non-empty pages are yielded; if the first response has no `value`, iteration ends immediately.
208
-
```
209
205
210
206
### Custom table (metadata) example
211
207
@@ -257,7 +253,7 @@ VS Code Tasks
257
253
- No general-purpose OData batching, upsert, or association operations yet.
258
254
-`DeleteMultiple`/`UpdateMultiple` are not exposed; quickstart may demonstrate faster deletes using client-side concurrency only.
259
255
- Minimal retry policy in library (network-error only); examples include additional backoff for transient Dataverse consistency.
260
-
- Entity naming conventions in Dataverse (schema/logical/entity set plural & publisher prefix) are only partially abstracted; for multi-create the SDK resolves logical names from entity set metadata.
256
+
- Entity naming conventions in Dataverse: for multi-create the SDK resolves logical names from entity set metadata.
0 commit comments