【发布时间】:2011-08-11 15:54:50
【问题描述】:
在使用 .Fetch 进行实际查询时,关于获取和预加载的文献太多了
但是,一旦我有一个加载的实体 - 带有一个空集合(因为我选择不在查询时急切加载,因为笛卡尔积的副作用),我可以选择稍后加载一个集合,比如说在我完成了一些分页之后,我有了一个具体的项目列表?
类似:
var list = (some linq over Session.Query<Entity>)
.Take(10).Skip(2)
.Fetch(x => x.MyCollection)
.ToList();
Session.Fetch<Entity>(list, l => l.OtherCollection);
编辑 关键是 - 我已经在 Query 中获取 2 个子集合 - 使查询和结果集已经相当大(参见 nhibernate Cartesian product)。我想对结果进行分页,获取 10 个列表,然后可以选择返回数据库以填充分页(例如 10 个)结果的子集合属性。这是性能方面的考虑。
【问题讨论】: