我有以下linq声明:
var query = from p in session.Query<Parent>().FetchMany(x => x.Children)
select p;
我最终为每个Child in Children提供了一个新的Parent对象。所以,如果我有5个孩子,我会得到5个独立但相同的父对象。这是预期的行为吗?如果我使用ISession,我会按预期得到1个父母。
答案 0 :(得分:4)
这是预期的,因为无状态会话不跟踪对象;因此,每一行都会产生一个新实例。
答案 1 :(得分:1)
您是否曾尝试对查询进行Distinct
调用?
var results = query.Distinct();