NHibernate的 - IStatelessSession和支持fetchmany返回多个父记

2019-09-17 19:42发布

我有以下LINQ语句:

var query = from p in session.Query<Parent>().FetchMany(x => x.Children)
            select p;

我结束了在儿童每个孩子一个新的父对象。 所以,如果我有5个孩子,我会得到5个独立的,但相同的,父对象回来。 这是预期的行为? 如果我使用的Isession,我得到1个父预期。

Answer 1:

这是意料之中的,因为无状态会话不跟踪物体; 因此,每一行产生一个新的实例。



Answer 2:

您是否尝试过做一个Distinct的查询电话?

var results = query.Distinct();


文章来源: nHibernate - IStatelessSession and FetchMany returning multiple parent records