public void TopTenResults() { const int reorderLevel = 0; const int pageSize = 10; var query = new SqlLambda <Product>(p => p.ReorderLevel == reorderLevel) .OrderBy(p => p.ProductName); var results = Connection.Query <Product>(query.QueryStringPage(pageSize), query.QueryParameters).ToList(); Assert.AreEqual(pageSize, results.Count); Assert.IsTrue(results.All(p => p.ReorderLevel == reorderLevel)); }
public void PaginateOverResults() { const int reorderLevel = 0; const int pageSize = 5; const int numberOfPages = 5; const int lastPageSize = 4; var query = new SqlLambda <Product>(p => p.ReorderLevel == reorderLevel) .OrderBy(p => p.ProductName); for (int page = 1; page < numberOfPages; ++page) { var results = Connection.Query <Product>(query.QueryStringPage(pageSize, page), query.QueryParameters).ToList(); Assert.AreEqual(pageSize, results.Count); Assert.IsTrue(results.All(p => p.ReorderLevel == reorderLevel)); } var lastResults = Connection.Query <Product>(query.QueryStringPage(pageSize, numberOfPages), query.QueryParameters).ToList(); Assert.AreEqual(lastPageSize, lastResults.Count); Assert.IsTrue(lastResults.All(p => p.ReorderLevel == reorderLevel)); }
public void FindByStringPrefix() { const string prefix = "To"; var query = new SqlLambda <Product>(p => p.ProductName.StartsWith(prefix)); var a = query.Join <Category>((p, c) => c.CategoryId == p.CategoryId); query.And(t => t.CategoryId == 1); query.Or(t => t.CategoryId == 1 && t.Discontinued == false); query.And(t => t.CategoryId == 1); query.OrderBy(t => t.CategoryId); var sql = query.QueryStringPage(20, 2); var result = Connection.Query <Product>(query.QueryString, query.QueryParameters).ToList(); Assert.AreEqual(2, result.Count); foreach (var product in result) { Assert.IsTrue(product.ProductName.StartsWith(prefix)); } }