流利的Nhibernate留下了加入 [英] Fluent Nhibernate left join

查看:80
本文介绍了流利的Nhibernate留下了加入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要映射一个导致左外连接的类,而不是内连接。

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

  public class UserMap:ClassMap<使用者名称> {
public UserMap(){
Table(aspnet_Users);
Id(x => x.Id,UserId)。GeneratedBy.Guid();
Map(x => x.UserName,UserName);
Map(x => x.LoweredUserName,LoweredUserName);

Join(Users,mm =>
{
mm.Map(xx => xx.FullName);

}) ;






这个映射导致一个内部连接选择,所以没有结果出来是没有数据的第二张表。我想要生成一个左连接。



这可能只在查询级别吗?

解决方案

试试可选()方法。
$ b

 加入(Users,m = > 
{
m.Optional();
m.Map(x => x.FullName);
});


I want to map a class that result in a left outer join and not in an innner join.

My composite user entity is made by one table ("aspnet_users") and an some optional properties in a second table (like FullName in "users").

  public class UserMap : ClassMap<User> {
    public UserMap() {
        Table("aspnet_Users");
        Id(x => x.Id, "UserId").GeneratedBy.Guid();
        Map(x => x.UserName, "UserName");
        Map(x => x.LoweredUserName, "LoweredUserName");

       Join("Users",mm=>
                        {
                            mm.Map(xx => xx.FullName);

                        });
    }
}

this mapping result in an inner join select so no result come out is second table as no data. I'd like to generate an left join.

Is this possible only at query level?

解决方案

Try the Optional() method.

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

这篇关于流利的Nhibernate留下了加入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆