Mi sono imbattuto in un problema di performance dovuto alla "pesantezza" degli oggetti caricati dal fido Nhibernate e passati come datasource ad una GridView.
Una ricerca senza filtri produceva circa 400.000 risultati, contanto gli oggetti da popolare e tutte le varie proprietà mappate bhé, il risultato per la memoria del sistema non era dei migliori. Penso ad un metodo "agile" per visualizzare i dati e penso al lazy loading di NH.
Detto fatto, Mi faccio restituire da NH solamente la collection di chiavi primarie delle entità da visualizzare e sulla OnRowCreated della gridview mi occupo di recuperare i dati delle entity da visualizzare sulla gridview.
I risultati sono eccellenti, query veloce (recupera solo la chiave primaria) e visualizzazione ancora più veloce (sebbene ci sia da mettere in conto qualche roundtrip in più per andare a recuperare i dati in visualizzazione).
Sono sempre più contento dei risultati ottenuti lavorando a questo progetto.