Datacontext.js
var manager = new breeze.EntityManager('breeze/BreezeData');
function getMenuItems() {
var query = new breeze.EntityQuery("Products").take(5);
return manager.executeQuery(query);
}
Products.js
function loadProducts() {
return datacontext.getMenuItems().then(function (data) {
data.results.forEach(function (item) {
self.menuProducts.push(item);
});
}).fail(function (data) {
logger.logError('Failed to load Products', null, "", true);
});
}
操作方法
[HttpGet]
public IEnumerable<MenuItem> Products()
{
var venueId = GetCurrentVenue().ID;
return _contextProvider.Context.MenuItem.Where(mi => mi.Venue.ID == venueId);
}
它返回将近 45 条记录,但我在这里使用 take(5) 并且那个 take 不起作用并返回相同的结果。我是一个新手,所以我才刚刚开始实现它。
提前致谢..
最佳答案
将操作方法更改为:
[HttpGet]
public IQueryable<MenuItem> Products()
{
var venueId = GetCurrentVenue().ID;
return _contextProvider.Context.MenuItem.Where(mi => mi.Venue.ID == venueId);
}
如果它仍然不起作用,请尝试添加 orderBy
以防服务器不确定前 5 个项目实际上是什么。
关于javascript - Knockout 和 breeze.js take 方法不工作分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20393173/