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).