gpt4 book ai didi

typescript - BreezeJS - 如何编写复杂的查询?

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:09 25 4
gpt4 key购买 nike

如何使用 BreezeJS + OData 或 WebAPI 编写复杂查询?我希望能够在 JayData 中使用 Northwind 作为引用数据库做这样的事情?我的问题是我不知道如何表达同时引用数据库(而不是与常量相比的字段)并且具有复杂逻辑树(a || (b && c))的查询?

context.Products.filter(function(product) {
return (product.Unit_Price < product.Category.BudgetPriceLimit) ||
(product.Category.IsOnSale && product.Supplier.IsFavored)
}).toArray(...)

我的另一个问题是关于 TypeScript + 查询。如何使用箭头函数对 BreezeJS 进行查询?所以有一种方法可以代替表达式构建器:

query(Product => Product.Unit_Price < Product.Category.BudgetPriceLimit)

感谢您的帮助,抱歉,如果这些问题很明显。

最佳答案

这篇文章已经过编辑以纠正我的错误以及从 v 0. 77.1 开始添加到 breeze 的新功能。

好问题!

Breeze 现在支持跨属性查询表达式(从 v 0.77.1 开始),例如:

var shippedLateQuery = EntityQuery.from("Orders")
.where("requiredDate",">","shippedDate");

第三个参数(上面的“shippedDate”)将根据上下文被视为属性表达式或文字。通常,如果值可以被解释为属性表达式,否则它将被视为文字。在大多数情况下这很有效,但您也可以强制解释。有关详细信息,请参阅 API 文档。

组合复杂查询,即 ( a || (b && c)),轻而易举地通过谓词完成。这里有一些很好的例子:

Query Examples - see the Compound Conditions with Predicates topics

此外,第一个 Breeze 教程在这里:Tutorial还可以让您试用这些功能(请参阅第 5 步)。

我们正在积极关注 Typescript 并计划全面启用它,但我们仍处于该过程的早期阶段。

更新:从 v 0.84.4 开始,Breeze 提供完整的 TypeScript 支持。

关于typescript - BreezeJS - 如何编写复杂的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13838975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com