我有一个包和文件的数据结构。包可以包含许多文件。因为Files包含大量数据,所以我想在请求时只从数据库加载一个数据。 我无法使用延迟加载,因为会话在发送查询后关闭,我无权更改此行为。因此,在访问Files集合之前,会话肯定会关闭。
我的查询按名称过滤包,并希望获得一个接一个的文件,按索引排序,跳过已查询的文件。
ISession session;
var file = session.QueryOver<Pack>().Where(p => p.Name == "Pack1")
.JoinQueryOver<File>(p => p.Files).OrderBy(f => f.Index).Asc.Skip(2).Take(1).SingleOrDefault<File>();
这就是我期望的工作方式,但它甚至无法编译。