Sono relativamente nuovo sia a WPF che a NHibernate e sto tentando di creare un'applicazione che combini i due, utilizzando il modello MVVM. Tuttavia, sto facendo fatica a capire quando e dove la mia applicazione dovrebbe aprire e chiudere le sessioni e le transazioni di NHibernate.Come definire le sessioni e le transazioni di NHibernate in un'applicazione WPF
Da quello che ho letto, si raccomanda di mantenere le sessioni più brevi possibile. Pertanto, a parte le ovvie considerazioni sulla sicurezza del thread, presumo che non sia corretto aprire una sessione a livello di applicazione e condividerla? D'altra parte, mi rendo anche conto che sessioni molto brevi (nell'ambito dei metodi aziendali) porteranno a entità distaccate e mi impediranno anche di sfruttare il lazy loading di NHibernate. È un modo normale e inevitabile di progettare un'applicazione WPF/NH?
Sfortunatamente tutti i buoni esempi di codice (e l'unico libro che riesco a trovare su questo argomento - NHibernate in Action) sono focalizzati sulle applicazioni ASP.NET, dove la pratica migliore è apparentemente abbastanza chiara - una sessione e una transazione esattamente una richiesta Http.
Quindi, gradirei alcune indicazioni dagli sviluppatori WPF, per aiutarmi a capire la gestione delle sessioni in WPF (idealmente indicando alcuni esempi di codice validi).
Molte grazie,
Tim
Vedi anche: http://stackoverflow.com/questions/1168892/example-of-nhibernate-winform-application –