使用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”工作正常,但在获取“列表”时会中断