Update README.md
This commit is contained in:
		
							parent
							
								
									74a68c70c1
								
							
						
					
					
						commit
						07eed00f00
					
				
							
								
								
									
										38
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								README.md
									
									
									
									
									
								
							@ -117,3 +117,41 @@ var result = queryable.ToListAsync().Result;
 | 
				
			|||||||
var first = result.FirstOrDefault() as Author;
 | 
					var first = result.FirstOrDefault() as Author;
 | 
				
			||||||
Assert.AreEqual(first?.FirstName, "David");
 | 
					Assert.AreEqual(first?.FirstName, "David");
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### How it can be used in a web api
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```csharp
 | 
				
			||||||
 | 
					[HttpGet][Route("FindClients")]
 | 
				
			||||||
 | 
					        public IHttpActionResult FindClients(string filterField = null, string filterValue = null, string sortProperty = "Id", int? page = null, int pageSize = 50)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
						    var ctx = new MyDbContext();
 | 
				
			||||||
 | 
					            var query = ctx.Clients.AsQueryable();
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            if (!string.IsNullOrEmpty(filterField) && !string.IsNullOrEmpty(filterValue))
 | 
				
			||||||
 | 
					                query = query.Query(t => t.Contains(filterField, filterValue)).OrderBy(sortProperty);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //  count.
 | 
				
			||||||
 | 
					            var clientCount = query.Count();
 | 
				
			||||||
 | 
					            int? pages = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (page.HasValue && pageSize > 0)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (clientCount == 0)
 | 
				
			||||||
 | 
					                    pages = 0;
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                    pages = clientCount / pageSize + (clientCount % pageSize != 0 ? 1 : 0);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (page.HasValue)
 | 
				
			||||||
 | 
					                query = query.Skip((page.Value-1) * pageSize).Take(pageSize);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var clients = query.ToList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return Ok(new
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                total = clientCount,
 | 
				
			||||||
 | 
					                pages = pages,
 | 
				
			||||||
 | 
					                data = clients
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user