Fluent nhibernate 将两个查询合并为一个查询

Fluent nhibernate 将两个查询合并为一个查询,fluent-nhibernate,Fluent Nhibernate,我有一个子查询,它的父查询在同一个表中。我需要子对象和父对象的名称来构建我的子对象。注意:parentID可以为null,因为并非每个子项都有父项: var child = session.Query<Child>().FirstOrDefault(x => x.Value == value); if (child.ParentId != null) { child.ParentName = session.Query&l

我有一个子查询,它的父查询在同一个表中。我需要子对象和父对象的名称来构建我的子对象。注意:parentID可以为null,因为并非每个子项都有父项:

var child = session.Query<Child>().FirstOrDefault(x => x.Value == value);
        if (child.ParentId != null)
        {
            child.ParentName = session.Query<Child>().FirstOrDefault(x => x.Id == child.ParentId).Name;
        } else
            child.ParentName = "";
 return child;
var child=session.Query().FirstOrDefault(x=>x.Value==Value);
if(child.ParentId!=null)
{
child.ParentName=session.Query().FirstOrDefault(x=>x.Id==child.ParentId).Name;
}否则
child.ParentName=“”;
返回儿童;

这在我看来很混乱,主要是因为如果parentID为null,我不希望为null。我应该关心这件事吗?如何将其转换为一个查询?我对逻辑的理解有误吗?

我们使用两个不同的表解决了这个问题。第一个用于根(不带父级),第二个用于所有子级-每个子级都有对父级的引用,因此您能够提供有效的查询,例如删除根(和所有子级)。

不过,这是一种有趣的处理方法;由于数据的结构,我的父对象有时有自己的父对象。