1

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

/api/orderCollection?$filter=orderId%20eq%20'0001'

是否可以强制微风使用odata格式?

/api/orderCollection(0001)

我有一个标准的 odata 服务,它不支持第一个 url...

这是我的查询:

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

kr,约阿希姆

4

1 回答 1

4

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) {
    ...
});
于 2013-04-26T16:01:35.993 回答