web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics 365 | Integration, Dataverse...
Under review by Community Managers

Under review

Thank you for your post! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Desasociar registros N:N con plugin

Posted on by 21
Buenas.
Tengo una TablaA que está relacionada con 3 tablas con relaciones N:N. Cuando creo un registro en TablaA, a través de un flujo de power automate, relacciono la TablaA con las otras 3.
Esto funciona perfecto.  Tenía el problema que al borrar el registro de TablaA, daba un error de constraint por las tablas relaccionadas.

He creado un plugin para desasociar las 3 tablas asociadas a la TablaA antes de que se borre el registro.  

El problema que tengo ahora, es que el plugin funcina correctamente pero al ver los registros de las tablas relacionadas, veo que hay una que sigue manteniendo los registros.
 
Lo curioso, es que me deja borrar el registro de la TablaA sin dar error de constraint
 
¿Qué puede estar pasando?
 
Este es el código que uso para desasociar.
 
private void EliminarRelacionesNN( EntityReference entityRef, IOrganizationService service, List<string> relationshipName )
{
    try
    {
        foreach ( string relationship in relationshipName )
        {
            tracingService.Trace( $"Target: {entityRef.LogicalName};  Relación: {relationship}" );
            // Crear la solicitud para eliminar TODAS las asociaciones N:N
            var disassociateRequest = new DisassociateRequest
            {
                Target = entityRef,                                     // Tabla desde la que se está eliminando
                Relationship = new Relationship( relationship ),        // Nombre de la relación
                RelatedEntities = new EntityReferenceCollection( )      // Se eliminan todas las relaciones
            };

            // Ejecutar la eliminación de las relaciones N:N
            var resultado = service.Execute( disassociateRequest );
            tracingService.Trace( $"Eliminación correcta de la entidad: {relationship}" );
        }
    }
    catch ( Exception ex )
    {
        tracingService.Trace( $"Error borrando tablas relacionadas: {ex.Message}" );
        throw new InvalidPluginExecutionException( $"Error FOREACH borrando tabla relacionadas: {ex.Message}" );
    }
}

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > Microsoft Dynamics 365 | Integration, Dataverse, and general topics

#1
Martin Dráb Profile Picture

Martin Dráb 41 Most Valuable Professional

#2
iampranjal Profile Picture

iampranjal 39

#3
Satyam Prakash Profile Picture

Satyam Prakash 35

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans