Attualmente sto scrivendo un'applicazione web ASP.Net che ha una sezione per il dipartimento IT per la gestione degli utenti. Una delle cose che farà è dare un elenco di caselle di controllo dei gruppi di sicurezza e gruppi di posta elettronica attivi di cui un utente può essere membro. Sono stato facilmente in grado di elaborare il codice necessario per aggiungere un utente a un gruppo quando viene creato per la prima volta. Ora sto cercando di capire un modo efficace per aggiornare i gruppi quando un utente cambia, ad esempio l'utente fa parte di 5 gruppi e l'IT li aggiorna per aggiungere un nuovo gruppo e rimuoverli da 2 gruppi esistenti.
Ho pensato di fare una rimozione da tutti i gruppi, quindi tornare indietro e aggiungerli a quelli selezionati. Ho anche pensato di eseguire una query per ottenere un elenco di tutti i gruppi in cui si trovano ora, facendo un confronto con un elenco dei gruppi selezionati, calcolando quali sono stati rimossi e quali sono stati aggiunti, quindi facendo le chiamate appropriate. Entrambi questi metodi non sembrano molto efficienti e potenzialmente intensivi del processo.
Qual è il modo più comune in cui uno sviluppatore esperto / esperto si occupa di questo tipo di situazione?