A questo indirizzo http://code.google.com/p/remoting-nhibernate ho caricato un progetto / prototipo che dimostra come usare NHibernate in ambiente 3-tier (cioè con layer fisici separati) e con lazy-loading abilitato. Il progetto a livello architetturale è un estratto di un progetto reale al quale ho potato tutte le feature che caratterizzano un qualsiasi progetto (logging, gestione errori, ecc.)
Dopo svariati mesi di utilizzo mi sto rendendo conto che le one-to-one rappresentano un altro caso da gestire ma che possono essere benissimo gestite come one-to-many mascherate e ponendo nell'Object Model una proprietà che restituisca la prima riga, se presente.