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