Saltar al contenido
JTS

Cargando la configuración avanzada del sistema…

Bulk Operations en D365 CE (Dataverse): guía técnica con operativa, decisiones y ejemplos

Artículo de conocimiento · 21 dic 2025

Origen
LinkedIn
Estado
Publicado

Contenido

Cuándo usar CreateMultiple, UpdateMultiple, UpsertMultiple, ExecuteMultiple, $batch o BulkDelete, y cómo diseñar lotes, paralelismo, reintentos e idempotencia.

Resumen del artículo publicado en LinkedIn. El enlace “Ver original” lleva al texto completo, con ejemplos de Web API y SDK .NET.

El problema

Migraciones, integraciones, reprocesados y limpiezas acaban siendo operaciones masivas en Dataverse. Con un Create/Update por registro llegan la latencia, los límites de protección del servicio, los timeouts y las tormentas de trabajos asíncronos.

Qué usar en cada caso

  • CreateMultiple / UpdateMultiple / UpsertMultiple: el mayor rendimiento para muchas filas del mismo tipo. En tablas estándar son transaccionales (si falla una, se revierte todo); en tablas elásticas admiten éxito parcial.
  • ExecuteMultiple: mezcla operaciones y tipos, cada petición en su propia transacción. Ideal si esperas cierto porcentaje de fallos.
  • $batch de la Web API: si ya trabajas en HTTP puro.
  • BulkDelete: borrado masivo asíncrono en tablas estándar (retención, RGPD, limpiezas).

Cómo diseñarlo sin sorpresas

  • Comprueba que la tabla admite los mensajes Multiple y ten un plan B.
  • Tamaño de lote configurable (100–1000 en estándar, 100 en elásticas): empieza conservador y mide.
  • Respeta el grado de paralelismo recomendado que devuelve Dataverse y desactiva la afinidad de servidor.
  • Reintentos con backoff ante 429 y 5xx, con logs por lote.
  • Decide si ejecutas la lógica de negocio o la omites con BypassBusinessLogicExecution (requiere privilegio).
  • Idempotencia con UpsertMultiple y claves alternativas.

La regla de oro

Las operaciones masivas se lanzan desde fuera (integraciones, Azure Functions…), nunca desde un plug-in. Los plug-ins deben ser ligeros y, si reciben mensajes Multiple, procesar la colección Targets.

General

Publicado
21 dic 2025
Origen
LinkedIn