NHibernate加入

时间:2012-09-19 14:31:24

标签: nhibernate fluent-nhibernate linq-to-nhibernate nhibernate-criteria

public class Parent
{
    public virtual long Id { get; set; }
    public virtual string Name { get; set; }
    public virtual List<Child> Children { get; set; }
}

public class Child
{
    public virtual long Id { get; set; }
    public virtual string Description { get; set; }
    public virtual Parent Parent { get; set; }
}

在NHibernate中,如何只使用一次db调用来获取具有父名称的子列表。 我试过了:

CurrentSession.QueryOver&lt; Child&gt;()。JoinQueryOver(x =&gt; x.Parent).Fetch(x =&gt; x.Parent).Eager.List&lt;子&GT;()ToList();

但它不起作用。

使用FluentNHibernate完成映射。

1 个答案:

答案 0 :(得分:1)

如此接近:

CurrentSession.QueryOver<Child>()
  .Fetch(x => x.Parent).Eager
  .List<Child>();

应该有用(你不需要额外调用.ToList,或者连接到Parent)