在流利的休眠中从子对象获取父对象

本文关键字:对象 获取 休眠 | 更新日期: 2023-09-27 18:31:55

我有以下情况,其中"父"包含具有一对多关系的"子"列表。

public class Parent
{
public virtual int Id { get; protected set; }
public virtual String Title { get; set; }
public virtual IList<Child> Child { get; set; }
}
public class Child
{
public virtual int Id { get; protected set; }
public virtual String Code{ get; set; }
}

在某些时候,我有一个"Child"类的对象,我想从中获取其各自的父对象。有什么建议怎么做吗?

在流利的休眠中从子对象获取父对象

你可以这样做:

var childId = "..."; 
Child childAlias = null;
session.QueryOver<Parent>
  .JoinAlias(parent => parent.Children, () => childAlias)
  .Where(() => childAlias.Id == childId)
  .TransformUsing(Transformers.DistinctRootEntity)
  .SingleOrDefault();