【发布时间】:2026-01-21 05:10:01
【问题描述】:
由于某种原因,我无法在 Skip()/Take() 之后使用 Select(),除非我以某种方式执行此操作。以下代码有效,并允许我将结果用作子查询的一部分。
var query = QueryOver.Of<MyType>();
query.Skip(1);
var result = query.Select(myType => myType.Id);
但是,如果我尝试如下在一行上创建查询,我将无法编译。
var query = QueryOver.Of<MyType>().Skip(1);
var result = query.Select(myType => myType.Id);
看起来第一个中的代码导致查询的类型为 QueryOver
这样写也可以。
var query = QueryOver.Of<MyType>().Select(myType => myType.Id).Skip(1);
任何想法为什么当第一个和第三个版本工作时第二个版本会严重失败?这似乎是一种奇怪的行为。
【问题讨论】:
标签: select nhibernate skip take nhibernate-4