NHibernate, event listener: che cosa scomoda…
Quello che succede infatti, e pure giustamente, è che se nella lista degli eventi c’è già qualcuno lo state semplicemente sovrascrivendo e questo è poco bello :-)var fc = container.GetService<FluentConfiguration>(); fc.ExposeConfiguration( cfg => { cfg.EventListeners.PreInsertEventListeners = new[] { new MySaveEventListener() }; } );
Una soluzione semplice ed elegante è questo Extension Method che vi permette di scrivere in maniera molto naturale questo:
ne riparliamo prossimamentevar fc = container.GetService<FluentConfiguration>(); fc.ExposeConfiguration( cfg => { cfg.AddListener( e => e.PreInsertEventListeners, new MySaveEventListener() ); });
.m