我在使用 Linq NHibernate 查询时遇到了一些问题。
我需要获得一批带有详细信息的代金券。由于我需要迭代它们,我想在一次执行中获取所有信息。
我的查询如下:
return this.Session.Query<VouchersToIntegrate>()
.Take(query.BatchSize)
.Fetch(x => x.VoucherLines)
.ToList();
其中 VouchersToIntegrate 是凭证,VoucherLines 是每个凭证的行。
batchSize 现在设置为 50.000,但是当我返回所有对象时,我只得到 23XXX。这是因为我猜框架在从数据库(客户端)获取所有对象后在内部执行不同的操作。有没有其他方法可以在 SQL 服务器端使用不同的过滤器获取 50.000 个对象?
谢谢