Builder API
Write Conflicts
Both Ignore and Update generate MERGE, matching the primary-key columns in the entity mapping. The former skips existing rows; the latter updates existing rows and inserts new ones.
The mapping must match the table's constraints. A conflict on another unique key does not automatically become a primary-key match. See Insert Conflicts.
Pagination
The builder assigns row numbers with ROWNUMBER() OVER() and selects the requested range. The total is queried separately.
Stable paging
The current rewrite does not put the ordering inside OVER(...). For strictly ordered pages, write SQL with an explicit ROW_NUMBER() OVER(ORDER BY ...). See Pagination.