2010-02-12 10 views
14

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

+0

Vedi anche: http://stackoverflow.com/questions/1168892/example-of-nhibernate-winform-application –

risposta

9

Qui è uno dei migliori esempi di applicazioni del desktop NHibernate che io sono a conoscenza di (credo è stato scritto con WPF in mente):

Building a Desktop To-Do Application with NHibernate

+0

Mille grazie Michael. Come dici tu, questo eccellente articolo tratta esattamente i problemi che sto affrontando. –

Problemi correlati