Skip to main content

IBulkOperationExecutor

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

Summary

Executes bulk operations using modern Dataverse APIs. Provides CreateMultiple, UpdateMultiple, UpsertMultiple, and DeleteMultiple wrappers.

Members

Methods

CreateMultipleAsync

Task<BulkOperationResult> CreateMultipleAsync(string entityLogicalName, IEnumerable<Entity> entities, BulkOperationOptions options, DataverseClientOptions clientOptions, IProgress<ProgressSnapshot> progress, CancellationToken cancellationToken)

Creates multiple records using the CreateMultiple API.

  • Param entityLogicalName: The entity logical name.

  • Param entities: The entities to create.

  • Param options: Bulk operation options.

  • Param clientOptions: Optional per-request connection options (e.g., CallerId for impersonation).

  • Param progress: Optional progress reporter for tracking operation progress.

  • Param cancellationToken: Cancellation token.

  • Returns: The result of the operation.

DeleteMultipleAsync

Task<BulkOperationResult> DeleteMultipleAsync(string entityLogicalName, IEnumerable<Guid> ids, BulkOperationOptions options, DataverseClientOptions clientOptions, IProgress<ProgressSnapshot> progress, CancellationToken cancellationToken)

Deletes multiple records using the DeleteMultiple API.

  • Param entityLogicalName: The entity logical name.

  • Param ids: The IDs of the records to delete.

  • Param options: Bulk operation options.

  • Param clientOptions: Optional per-request connection options (e.g., CallerId for impersonation).

  • Param progress: Optional progress reporter for tracking operation progress.

  • Param cancellationToken: Cancellation token.

  • Returns: The result of the operation.

UpdateMultipleAsync

Task<BulkOperationResult> UpdateMultipleAsync(string entityLogicalName, IEnumerable<Entity> entities, BulkOperationOptions options, DataverseClientOptions clientOptions, IProgress<ProgressSnapshot> progress, CancellationToken cancellationToken)

Updates multiple records using the UpdateMultiple API.

  • Param entityLogicalName: The entity logical name.

  • Param entities: The entities to update.

  • Param options: Bulk operation options.

  • Param clientOptions: Optional per-request connection options (e.g., CallerId for impersonation).

  • Param progress: Optional progress reporter for tracking operation progress.

  • Param cancellationToken: Cancellation token.

  • Returns: The result of the operation.

UpsertMultipleAsync

Task<BulkOperationResult> UpsertMultipleAsync(string entityLogicalName, IEnumerable<Entity> entities, BulkOperationOptions options, DataverseClientOptions clientOptions, IProgress<ProgressSnapshot> progress, CancellationToken cancellationToken)

Upserts multiple records using the UpsertMultiple API.

  • Param entityLogicalName: The entity logical name.

  • Param entities: The entities to upsert.

  • Param options: Bulk operation options.

  • Param clientOptions: Optional per-request connection options (e.g., CallerId for impersonation).

  • Param progress: Optional progress reporter for tracking operation progress.

  • Param cancellationToken: Cancellation token.

  • Returns: The result of the operation.