Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NHibernate 3.0 Linq提供程序。选择“跳过并停止后不工作”_C#_Linq_Nhibernate_Linq To Nhibernate - Fatal编程技术网

C# NHibernate 3.0 Linq提供程序。选择“跳过并停止后不工作”

C# NHibernate 3.0 Linq提供程序。选择“跳过并停止后不工作”,c#,linq,nhibernate,linq-to-nhibernate,C#,Linq,Nhibernate,Linq To Nhibernate,嗨,我使用NHiberante来填充我的web应用程序的分页和排序网格。 在我决定将投影付诸实施之前,它一直运作良好 这是原始的工作代码: var data = repository .Where(predicate); .OrderBy(columns) .Skip(amount) .Take(anotherAmount); 然后我开始介绍我的投影,效果也很好: var data = repository .Where(predicate);

嗨,我使用NHiberante来填充我的web应用程序的分页和排序网格。 在我决定将投影付诸实施之前,它一直运作良好

这是原始的工作代码:

var data = repository
    .Where(predicate);
    .OrderBy(columns)
    .Skip(amount)
    .Take(anotherAmount);
然后我开始介绍我的投影,效果也很好:

var data = repository
        .Where(predicate);
        .OrderBy(columns)
        .Select(myProjection);
我很高兴一切正常,所以我添加了缺少的Skip和Take,但stop-now Nhibernate声明不支持Select(NotSupportedException)。代码:

是虫子还是我做错了什么

在执行查询时调用.Count()时,查询不再存在。您需要发出两个单独的查询来获取计数和列表

您可以使用Future或MultiQuery做一些有趣的事情

编辑:


这里的第二篇文章应该能够为您指出正确的方向。

在我看来,这是NH的一个错误。在3.3.1.4000版本中,它可以正常工作。

Count()不是这里的情况(如果我删除它,错误仍然存在),因此我将从代码示例中删除它。哦,你能显示整个查询吗,存储库中的部分也可以吗?存储库只是LinqProvider-取自ISession。Query99%确定Linq提供程序不支持投影,您需要使用QueryOver.it(我编写了它-第二个代码示例很好),但感谢您的时间:)这是一个已知的bug。
var data = repository
        .Where(predicate);
        .OrderBy(columns)
        .Skip(amount)
        .Take(anotherAmount)
        .Select(projection);