Skip to main content

BulkOperationOptions

  • Namespace: PPDS.Dataverse.BulkOperations
  • Assembly: PPDS.Dataverse
  • Kind: Class

Summary​

Configuration options for bulk operations.

Members​

Properties​

BatchSize​

int BatchSize { get; set; }

Gets or sets the number of records per batch. Must be between PPDS.Dataverse.BulkOperations.BulkOperationOptions.MinBatchSize and PPDS.Dataverse.BulkOperations.BulkOperationOptions.MaxBatchSize inclusive. Benchmarks show 100 is optimal for both standard and elastic tables. Default: 100

BypassCustomLogic​

CustomLogicBypass BypassCustomLogic { get; set; }

Gets or sets which custom business logic to bypass during execution.

BypassPowerAutomateFlows​

bool BypassPowerAutomateFlows { get; set; }

Gets or sets a value indicating whether to bypass Power Automate flows. When true, flows using "When a row is added, modified or deleted" triggers will not execute. No special privilege is required. Default: false

ContinueOnError​

bool ContinueOnError { get; set; }

Gets or sets a value indicating whether to continue after individual record failures. Only applies to Delete operations on standard tables (ElasticTable = false). Elastic tables always support partial success automatically. Default: true

ElasticTable​

bool ElasticTable { get; set; }

Gets or sets a value indicating whether the target is an elastic table (Cosmos DB-backed).

When false (default, for standard SQL-backed tables): Create/Update/Upsert: Uses all-or-nothing batch semantics (any error fails entire batch)Delete: Uses ExecuteMultiple with individual DeleteRequests When true (for elastic tables): All operations support partial success with per-record error detailsDelete uses native DeleteMultiple APIConsider reducing BatchSize to 100 for optimal performance Default: false

MaxParallelBatches​

Nullable<int> MaxParallelBatches { get; set; }

Gets or sets the maximum number of batches to process in parallel.

When null (default), uses the ServiceClient's RecommendedDegreesOfParallelism which comes from the x-ms-dop-hint response header from Dataverse.

Set to 1 for sequential processing, or a specific value to override Microsoft's recommendation.

Default: null (use RecommendedDegreesOfParallelism)

SuppressDuplicateDetection​

bool SuppressDuplicateDetection { get; set; }

Gets or sets a value indicating whether to suppress duplicate detection. Default: false

Tag​

string Tag { get; set; }

Gets or sets a tag value passed to plugin execution context.

Fields​

MaxBatchSize​

int MaxBatchSize

Maximum allowed batch size (inclusive). Dataverse rejects values greater than 1000 with an opaque error that can make the whole batch fail silently, so we validate up-front.

MinBatchSize​

int MinBatchSize

Minimum allowed batch size (inclusive).