public void MainTest() { Assert.AreEqual(0, new[] { 1, 2 }.Take(1).Skip(1).Count()); using (var session = Domain.OpenSession()) using (var trs = session.OpenTransaction()) { var e1 = new MyEntity(); var e2 = new MyEntity(); CompilableProvider rsMyEntities = Domain.Model.Types[typeof(MyEntity)] .Indexes.PrimaryIndex.GetQuery() .Filter(t => t.GetValue <int>(0) == e1.Id || t.GetValue <int>(0) == e2.Id); Assert.AreEqual(2, rsMyEntities.Count(Session.Current)); Assert.AreEqual(0, rsMyEntities.Take(1).Skip(1).Count(Session.Current)); Assert.AreEqual(1, rsMyEntities.Skip(1).Take(1).Count(Session.Current)); Assert.AreEqual(1, rsMyEntities.Take(1).Take(2).Count(Session.Current)); Assert.AreEqual(0, rsMyEntities.Skip(1).Skip(1).Count(Session.Current)); trs.Complete(); } }