Odata 这是使用Breeze.js模拟列表中的位置的正确方法吗?
我试图建立一个有效Id的列表,并将它们作为.Any谓词附加到查询中。我升级到最新的Breeze以访问filterQueryOp。不幸的是,它错了Odata 这是使用Breeze.js模拟列表中的位置的正确方法吗?,odata,breeze,Odata,Breeze,我试图建立一个有效Id的列表,并将它们作为.Any谓词附加到查询中。我升级到最新的Breeze以访问filterQueryOp。不幸的是,它错了 var ids = []; listData.forEach(function (item) { ids.push(item.TicketId) }); combined = combined.and(new breeze.Predicate('ItemId', breeze.F
var ids = [];
listData.forEach(function (item) {
ids.push(item.TicketId)
});
combined = combined.and(new breeze.Predicate('ItemId', breeze.FilterQueryOp.Any, ids));
var result = breeze.EntityQuery.from('Tickets').using(itemManager)
.where(combined)
.execute()
.fail(util.queryFailed);
接下来是Breeze建立的查询
"(((StatusKey eq 65540) and (ParentKey eq 123743) and (Created ge datetime'2013-04-30T04:00:00.000Z') and (Created lt datetime'2015-05-01T04:00:00.000Z')) and (Open eq true)) and (ItemId/any(x6: 180170,180172,180173,180197,180198,180199,180200,180201,180204,180205,180206))"
我们可以看到,在最后,它做了一些合理的事情。任何,到目前为止,很好
然后这个结果:
"')' or ',' expected at position 200 in '(((StatusKey eq 65540) and (ParentKey eq 123743) and (Created ge datetime'2013-04-30T04:00:00.000Z') and (Created lt datetime'2015-05-01T04:00:00.000Z')) and (Open eq true)) and (ItemId/any(x6: 180170,180172,180173,180197,180198,180199,180200,180201,180204,180205,180206))'."