public void SkipCount_default_vocabulary_Different_Order() { var paginationVisitor = new PaginationVisitor(); int count = 50; int skip = 20; Expression <Func <IQueryable <Car>, IEnumerable <Car> > > expression = (IQueryable <Car> data) => data.Take(count).Skip(skip); var result = paginationVisitor.Translate(expression); Console.WriteLine(result); Assert.AreEqual("count=50&skip=20", result); }
public void Where_NotSupported() { var paginationVisitor = new PaginationVisitor( new PaginationVocabulary() { Count = "count1", Skip = "skip1" }); Expression <Func <IQueryable <Car>, IEnumerable <Car> > > expression = (IQueryable <Car> data) => data.Where(x => x.Model == "Midel"); var result = paginationVisitor.Translate(expression); Console.WriteLine(result); }
public void SkipCount_WithVocabulary() { var paginationVisitor = new PaginationVisitor( new PaginationVocabulary() { Count = "count1", Skip = "skip1" }); int count = 50; int skip = 20; Expression <Func <IQueryable <Car>, IEnumerable <Car> > > expression = (IQueryable <Car> data) => data.Skip(skip) .Take(count); var result = paginationVisitor.Translate(expression); Console.WriteLine(result); Assert.AreEqual("skip1=20&count1=50", result); }
protected override string GetQueryString(Expression expression) { var odataVisitor = new PaginationVisitor(_vocabulary); return(odataVisitor.Translate(expression)); }