In merito a questo discorso ho trovato e sentito pareri diversi e molto discordanti tra loro. Il discorso è il seguente. Ho una classica entità chiamata UtenteWindows che rappresenta un utente windows di Active Directory (come noterete, ridotto all' osso). Come ogni utente windows che si rispetti, ha una Collection di tipo IList<T> che contiene i suoi gruppi di appartenenza.

Il problema nasce dal fatto che i gruppi windows originali sono documentati dalla Entity Gruppo e non devono essere modificati visto che esiste un apposito DAL che li preleva da Active Directory direttamente. Quindi avevo pensato di costruire uno schema molti-a-molti ragionando ancora da DbDev e non da DomainDev ... Bene dopo un' acuta osservazione presentatami dal buon Marco de Sanctis ci ho ragionato tutta la sera (non me ne voglia mia moglie smile_wink) e sono arrivato alla conclusione che era meglio avere una semplice struttura uno-a-molti rappresentata dalla Entity GruppoWindows. A questo punto siccome quest' ultima eredita da Gruppo, un bel comando Clone() e quando l' utente associa un gruppo nuovo, track mi popolo la mia lista di gruppi utente con 3 righette di codice del tipo

Gruppo selectedGroup = gruppoRepository.GetGroup(idGruppo);
GruppoWindows newGroup = selectedGroup.Clone();
UtenteWindows.Gruppi.Add(newGroup);

E adesso NHB e la relazione molti-a-molti mi fa un baffo!! fingerscrossed 

PICCOLA REVISIONE PER NHIBERNATE

image

Chiaramente saranno ben accetti commenti alla mia idea. Sempre che la tragedia dei TrackBack non colpisca in maniera disastrosa anche il mio Blog. smile_sarcastic