Skip to content

MJCZone.DapperMatic.Dml ​

Assembly: MJCZone.DapperMatic

Classes ​

NameDescription
DmBulkOptionsHow rows are loaded in bulk.
DmConcurrencyExceptionThe exception thrown when a row written by key with a <c>[DmConcurrencyToken]</c> was changed or deleted since it was read: nothing was written.
DmDefaultsWhere the DML methods find the values a scope does not give them, set once at startup: the current tenant, the current user, and the clock. A scope's own <c>ForTenant</c> and <c>WithUser</c> win over them.
DmGroupQuery`2Groups of a query's rows, one <c>GROUP BY</c>: filtered by <c>Having</c>, ordered and paged, and read by <c>Select</c> over each group's <c>Key</c> and aggregates (<c>Count</c>, <c>Sum</c>, <c>Min</c>, <c>Max</c>, <c>Average</c>, <c>Any</c>, <c>All</c>, each after any <c>Where</c>).
DmGroupQuery`3Groups read as something made of their keys and aggregates.
DmInclude`1Which of a relation's rows to load, and what to load with them: <c>Where</c>, <c>OrderBy</c> and <c>Take</c> for a collection, and <c>Include</c> for the rows' own relations, to any depth.
DmJoinQuery`2Rows of 2 models joined by conditions written out: one <c>SELECT</c>, built up by <c>Where</c>, <c>OrderBy</c>, <c>Skip</c>, <c>Take</c> and <c>Distinct</c> over all the joined rows, read as tuples or by <c>Select</c>.
DmJoinQuery`3Rows of 3 models joined by conditions written out: one <c>SELECT</c>, built up by <c>Where</c>, <c>OrderBy</c>, <c>Skip</c>, <c>Take</c> and <c>Distinct</c> over all the joined rows, read as tuples or by <c>Select</c>.
DmJoinQuery`4Rows of 4 models joined by conditions written out: one <c>SELECT</c>, built up by <c>Where</c>, <c>OrderBy</c>, <c>Skip</c>, <c>Take</c> and <c>Distinct</c> over all the joined rows, read as tuples or by <c>Select</c>.
DmJoinSelect`1Joined rows read as something else: the rows' columns, their related rows' columns and values over related rows read by the database, and the rest of the selector run in .NET.
DmlConnectionExtensionsReads and writes the rows of model tables: the classes DapperMatic builds tables from.
DmMergeFills relation properties from rows already in memory, without a query: by a <c>[DmRelation]</c>'s keys, fixed values and condition, or by key selectors given explicitly.
DmPage`1A page of rows read in keyset order, and the cursor of the next one.
DmQuery`1A query of a model's rows: one <c>SELECT</c>, built up by <c>Where</c>, <c>OrderBy</c>, <c>Skip</c>, <c>Take</c>, <c>Distinct</c> and <c>Select</c>, and run by one of the <c>...Async</c> methods.
DmQuery`2A query whose rows are read as something else, such as some of their columns.
DmScopeThe tenant, the user, and which deleted rows a scope reads; and the columns the DML methods fill and filter on their own: <c>[DmSoftDelete]</c>, <c>[DmConcurrencyToken]</c>, <c>[DmCreatedAt]</c>, <c>[DmUpdatedAt]</c>, <c>[DmCreatedBy]</c>, <c>[DmUpdatedBy]</c> and <c>[DmTenantKey]</c>.
DmStatementThe SQL a query runs and the values of its parameters, for logging and tests.
DmTranslationExceptionAn expression the DML methods cannot write as SQL. Nothing is evaluated in memory instead: the query is refused before anything is sent.
DmUpsertOptions`1How an upsert finds a conflicting row and what it does to it.

Enums ​

NameDescription
DmBulkFallbackWhat a bulk load does when the provider's native bulk path is unavailable.