我们正在使用具有流畅映射的 NHibernate 3.2。以下是高度可扩展的性能敏感系统中的简单一对多映射
public class Root
{
public Root()
{
Childs = new List<Child>();
}
public virtual int ID { get; set; }
public virtual IList<Child> Childs { get; set; }
public virtual int LastChildID { get; set; }
public virtual int CurrentChildID { get; set; }
}
public class Child
{
public virtual int ID { get; set; }
public virtual Root Root { get; set; }
public virtual string Name { get; set; }
}
当我们在几乎所有情况下从存储库中加载它时,我们只对由 CurrentChildID 定义的 Current Child 感兴趣,并且希望从数据库中一次性读取它以及根而不是其他 Child 记录。如果我们对剩余的孩子感兴趣,我们只需要加载 LastChildID 和 CurrentChildID 之间的记录 - 这样做的原因是我们可能有数百个孩子作为根,并且 LastChildID 之前的所有内容都将被标记为归档/数据仓库处理分开。
我们如何在 NHibernate 中配置预取。我们只是找不到一个例子。