我知道你可以通过调用.ToFuture<>()扩展方法来执行Linq to NHibernate查询作为未来。但是我没有加载映射的实体,而是直接将数据加载到DTO中。所以你会得到类似的东西:
var results = (from e in session.Query<Entity>()
where e.Reference.Id == someId
orderby e.Name
select new Dto
{
Id = e.Id,
Name = e.Name,
// ...
}).ToFuture<Dto>();
这不符合我的要求(我敢说期待)。我现在收到错误:The value "System.Object[]" is not of type "Entity" and cannot be used in this generic collection.
如果我删除.ToFuture()
它确实有效,但查询没有批处理。
我知道你可以使用QueryOver API做到这一点,我更喜欢Linq to NH更好,因为它的代码更清晰。
答案 0 :(得分:0)
它看起来像一个bug。如果您可以创建简单的复制测试用例,请在https://nhibernate.jira.com/输入新问题。
在此之前,请验证您是否使用的是最新版本(当时为3.2),因为此版本中已修复了similar defect。