代码之家  ›  专栏  ›  技术社区  ›  jfneis

林肯尼-只有左边的连接?

  •  4
  • jfneis  · 技术社区  · 15 年前

    很快的问题。。

    Linq2NHibernate总是创建左连接来检索关系吗?有没有办法让我得到一个内在的呢?

    提前谢谢你。

    菲利佩

    1 回复  |  直到 15 年前
        1
  •  1
  •   Phill    15 年前

    据我所知。

    我不知道Linq2NHibernate,但是在NH3中使用QueryOver API可以指定连接类型。

    var result = Session.QueryOver<Product>()
                        .Fetch(x => x.Category).Eager
                        .List();
    

    这将导致左联接,如果要指定内部联接,可以编写与以下相同的查询:

    var result = Session.QueryOver<Product>()
                        .JoinQueryOver(x => x.Category, JoinType.InnerJoin)
                        .List();
    

    这将导致内部连接。

    据我所知,在使用LINQ提供程序时不能指定连接类型( Query<T> 以NH3计)