Odata 在Breezejs中不使用过滤器按键检索条目

Odata 在Breezejs中不使用过滤器按键检索条目,odata,breeze,Odata,Breeze,当我们在Breezejs中使用其键查询实体时,框架正在使用$filter属性创建url /api/orderCollection?$filter=orderId%20eq%20'0001' 可以强制breeze使用odata格式吗 /api/orderCollection(0001) 我有一个标准的odata服务,它不支持第一个url 这是我的疑问: var query = new breeze.EntityQuery().from("OrderCollection"); var pred

当我们在Breezejs中使用其键查询实体时,框架正在使用$filter属性创建url

/api/orderCollection?$filter=orderId%20eq%20'0001'
可以强制breeze使用odata格式吗

/api/orderCollection(0001)
我有一个标准的odata服务,它不支持第一个url

这是我的疑问:

var query = new breeze.EntityQuery().from("OrderCollection");
var pred = breeze.Predicate.create('orderId', '==', orderId);
query = query.where(pred);
韩国,
Joachim

Breeze总是使用$filter操作符生成OData查询,因为这在添加谓词表达式时为我们提供了最大的灵活性和一致性。这是OData规范的一部分

但是,如果您真的需要另一个表达式,您实际上可以将整个URL作为字符串传递给Breeze以作为查询执行,即

 var query = "orderCollection(0001)";
 myEntityManager.executeQuery(query).then(function (data) {
   ...
 });
Breeze仍将返回与此相同的结果

var query = new breeze.EntityQuery().from("OrderCollection")
   .where('orderId', '==', orderId);
myEntityManager.executeQuery(query).then(function (data) {
    ...
});

Breeze总是使用$filter操作符生成OData查询,因为这在添加谓词表达式时为我们提供了最大的灵活性和一致性。这是OData规范的一部分

但是,如果您真的需要另一个表达式,您实际上可以将整个URL作为字符串传递给Breeze以作为查询执行,即

 var query = "orderCollection(0001)";
 myEntityManager.executeQuery(query).then(function (data) {
   ...
 });
Breeze仍将返回与此相同的结果

var query = new breeze.EntityQuery().from("OrderCollection")
   .where('orderId', '==', orderId);
myEntityManager.executeQuery(query).then(function (data) {
    ...
});