Una delle maggiori problematiche per chi ha avuto 
qualche esperienza con NHibernate è il fatto che questo 
O/RM non gestisce direttamente collection strongly-typed. Ammetto di 
non aver cercato moltissimo in giro per la 
rete, ma in quei 3 o 4 esempi che ho guardato, le business entities 
avevano sempre la forma
public class Master
{
    // ... more code ...
    private IList details;
    public IList Details
    {
        get { return details; }
    }
}
Questo tipo di implementazione pone alcune 
problematiche: oltre al fatto di essere weakly-typed, può funzionar bene se 
viene utilizzata in una pagina ASP.NET, grazie al databinding poco 
"interattivo", ma se proviamo a collegarla ad una windows forms perdiamo un 
sacco di funzionalità a cui eravamo abituati usando i DataSet (il refresh dei 
dati sullo schermo quando aggiungiamo un elemento alla collection, tanto per 
dirne uno...). Non mi dilungo oltre, se non per dire che le soluzioni provate 
(che vanno dal tentativo di utilizzare BindingList<T>, a quanto proposto da Ayende Rahien o a quest'altra alternativa di Andrew Arnott) non mi convincono al 100%.
Per fortuna, però, non ho girovagato in rete invano  : mi sono imbattuto qui, dove ho trovato un'ottima collection generic, che 
implementa IBindingList, e che a prima vista (dopo una lettura del codice 
sorgente) sembra essere addirittura migliore della BindingList<T> 
contenuta nel FX 2.0, dato che supporta anche sorting e find. 
E' molto generale e quindi può essere utilizzata anche da chi non si avvale di 
NHibernate, ma, in caso contrario, viene fornita anche di un accessor 
specifico da utilizzare nei file di mapping. Certo, non derivando da 
PersistentCollection FOOOORSE ha bisogno di qualche ritocco per funzionare 
correttamente con NHibernate, oltre al fatto che a me piacerebbe implementasse 
anche IComponent per poterla integrare nel designer di Visual 
Studio, ma credo si tratti veramente di un ottimo lavoro! Da domani proverò a 
metterci un po' le mani sopra...
: mi sono imbattuto qui, dove ho trovato un'ottima collection generic, che 
implementa IBindingList, e che a prima vista (dopo una lettura del codice 
sorgente) sembra essere addirittura migliore della BindingList<T> 
contenuta nel FX 2.0, dato che supporta anche sorting e find. 
E' molto generale e quindi può essere utilizzata anche da chi non si avvale di 
NHibernate, ma, in caso contrario, viene fornita anche di un accessor 
specifico da utilizzare nei file di mapping. Certo, non derivando da 
PersistentCollection FOOOORSE ha bisogno di qualche ritocco per funzionare 
correttamente con NHibernate, oltre al fatto che a me piacerebbe implementasse 
anche IComponent per poterla integrare nel designer di Visual 
Studio, ma credo si tratti veramente di un ottimo lavoro! Da domani proverò a 
metterci un po' le mani sopra... 
powered by IMHO 1.3