Select NHibernate:Can';在某些场景中,在跳过拍摄后不选择

Select NHibernate:Can';在某些场景中,在跳过拍摄后不选择,select,nhibernate,skip,take,nhibernate-4,Select,Nhibernate,Skip,Take,Nhibernate 4,由于某些原因,我无法在Skip()/Take()之后使用Select(),除非我以某种方式这样做。下面的代码起作用,允许我将结果用作子查询的一部分 var query = QueryOver.Of<MyType>(); query.Skip(1); var result = query.Select(myType => myType.Id); var query=QueryOver.Of(); 查询。跳过(1); var result=query.Select(myType=

由于某些原因,我无法在Skip()/Take()之后使用Select(),除非我以某种方式这样做。下面的代码起作用,允许我将结果用作子查询的一部分

var query = QueryOver.Of<MyType>();
query.Skip(1);
var result = query.Select(myType => myType.Id);
var query=QueryOver.Of();
查询。跳过(1);
var result=query.Select(myType=>myType.Id);
但是,如果我试图在下面的一行上创建查询,我将无法编译

var query = QueryOver.Of<MyType>().Skip(1);
var result = query.Select(myType => myType.Id);
var query=QueryOver.Of().Skip(1);
var result=query.Select(myType=>myType.Id);
看起来第一个查询中的代码的类型为QueryOver,而第二个查询中的代码的类型为QueryOver

如果这样写的话,它也可以工作

var query = QueryOver.Of<MyType>().Select(myType => myType.Id).Skip(1);
var query=QueryOver.Of().Select(myType=>myType.Id)。跳过(1);

你知道为什么第二个版本在第一个和第三个版本工作时会失败吗?这看起来很奇怪。

你在第二个版本中有一个打字错误

var query = QueryOver.Of<MyType().Skip(1);

不确定这是否是你要找的。

你在第二个版本中有一个输入错误

var query = QueryOver.Of<MyType().Skip(1);
不知道你在找什么