使用OrderBy后跟Skip / Take时,NHibernate Linq报告不受支持

时间:2012-06-18 16:01:01

标签: linq nhibernate

使用Nhibernate Linq时,我遇到了一些奇怪的问题,然后是skip / take。它只是抛出不支持的异常。但是,QueryOver和Criteria的类似代码才能正常工作。这是一个但是在NHibernate Linq还是我玩傻了?

        var factory = SessionFactory.CreateSessionFactory();
        var session = factory.OpenSession();

        var c = session.CreateCriteria<Produkt>().AddOrder(new NHibernate.Criterion.Order("Varenr", true)).SetFirstResult(0).SetMaxResults(1000);
        var lst1 = c.List();

        var q = session.QueryOver<Produkt>().OrderBy(x => x.Varenr).Asc.Skip(0).Take(1000);
        var lst2 = q.List();

        var ds = session.Query<Produkt>().OrderBy(x => x.Varenr).Skip(0).Take(1000).Select(obj => obj);
        //var ds = session.Query<Produkt>().OrderBy(x => x.Varenr).Select(obj => obj);
        var list = ds.ToList();


        session.Close();

“lst1”和“lst2”工作正常,但在获取“列表”时会中断

0 个答案:

没有答案