2009-08-30 4 views
16

Voglio mappare una classe che risulta in un join esterno sinistro e non in un join innner.Fluent Nhibernate left join

La mia entità utente composta è composta da una tabella ("aspnet_users") e da alcune proprietà facoltative in una seconda tabella (come FullName in "utenti").

questo risultato della mappatura in un raccordo interno selezionare in modo che nessun risultato venga fuori seconda tabella come nessun dato. Mi piacerebbe generare un join di sinistra.

È possibile solo a livello di query?

risposta

26

Provare il metodo Optional().

Join("Users", m => 
{ 
    m.Optional(); 
    m.Map(x => x.FullName); 
}); 
+0

Grazie questo ha funzionato! – Ronnie

+2

Woo! Questo mi ha aiutato. – David

0

Solo questo ha funzionato per me (NH 3.3):

Join("OuterJoinTable", 
       m => 
       { 
        m.Fetch.Join().Optional(); 
        m.KeyColumn("ForeignKeyColumn"); 

        m.Map(t => t.Field, "FieldName"); 
       });