Fluent nhibernate 流畅的Nhibernate左连接

Fluent nhibernate 流畅的Nhibernate左连接,fluent-nhibernate,nhibernate-mapping,Fluent Nhibernate,Nhibernate Mapping,我想映射一个导致左外部联接而不是内部联接的类 我的复合用户实体由一个表(“aspnet_users”)和第二个表中的一些可选属性(如“users”中的FullName)组成 公共类用户映射:类映射{ 公共用户映射(){ 表(“aspnet_用户”); Id(x=>x.Id,“UserId”).GeneratedBy.Guid(); 映射(x=>x.UserName,“UserName”); Map(x=>x.LoweredUserName,“LoweredUserName”); 加入(“用户”,

我想映射一个导致左外部联接而不是内部联接的类

我的复合用户实体由一个表(“aspnet_users”)和第二个表中的一些可选属性(如“users”中的FullName)组成

公共类用户映射:类映射{
公共用户映射(){
表(“aspnet_用户”);
Id(x=>x.Id,“UserId”).GeneratedBy.Guid();
映射(x=>x.UserName,“UserName”);
Map(x=>x.LoweredUserName,“LoweredUserName”);
加入(“用户”,mm=>
{
mm.Map(xx=>xx.FullName);
});
}
}
这种映射会导致一个内部联接选择,因此没有结果会显示为第二个表,因为没有数据。我想生成一个左连接

这仅在查询级别才可能吗?

请尝试
Optional()
方法

Join("Users", m =>
{
  m.Optional();
  m.Map(x => x.FullName);
});
只有这一点对我有效(NH3.3):

Join("Users", m =>
{
  m.Optional();
  m.Map(x => x.FullName);
});
Join("OuterJoinTable",
                m =>
                {
                    m.Fetch.Join().Optional();
                    m.KeyColumn("ForeignKeyColumn");

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