【发布时间】:2017-05-30 02:53:48
【问题描述】:
我正在尝试从 MySQL db 中对 Products 进行分页,但如果我使用 Skip() 或 Take() 它会返回一个空的 Json 数组作为我的 Web api 响应,如下所示
[]
但是FirstOrDefault()、Where() 等扩展方法可以正常工作。这是sn-p的代码:
public IActionResult GetPage(int page, int pageSize = 2)
{
int productCount = _context.Products.Count(); // 5
float totalPages = (float)Math.Ceiling((float)productCount / pageSize); //2.5 -- round to 3
if (page < 1 || page > totalPages) return NotFound();
var products = _context.Products.Skip((page - 1) * pageSize).Take(pageSize); //skip & take err mysql ef
return Ok(products);
}
我什至对查询.Skip(1).Take(2) 进行了硬编码,但没有运气。有人遇到过这个问题或知道解决方法吗?
【问题讨论】:
-
您在申请 Skip and Take 之前是否尝试过订购查询?
标签: c# mysql entity-framework-core