在BreezeJS中按列过滤到列总和或运算符

时间:2014-09-29 17:53:18

标签: javascript entity-framework filtering breeze

如果我有一个包含两个数字列的表,比如X和Y,则需要检索说X>的行。 Y.我如何使用BreezeJS实现这一目标?我遇到的所有示例目前都只能将列与固定值进行比较。

修改 我尝试使用.where("Id", "==", "Id")进行测试并得到以下错误:

查询失败:检测到具有不兼容类型的二元运算符。找到操作数类型' Edm.Int32'和' Edm.String'对于运营商类型' Equal'

要确认查询本身没有错误,我尝试了.where("Id", "==", 1),然后就完成了。

对这个人有任何线索吗?

1 个答案:

答案 0 :(得分:1)

当Breeze执行查询时,它会检查谓词右侧的字符串,以确定它是属性名称而不是文字名称,默认情况下会选择将值视为属性,如果属性为被查询的类型上存在相同的名称。所以,如果' qtyOrdered'和' qtyAvailable'是'订单'的属性。键入然后支持以下内容。

  var query = EntityQuery.from("Order").where("qtyOrdered", ">", "qtyAvailable");

此行为也可以被覆盖(有时对于字符串列是必需的)但很少需要。