executeQueryLocally错误

时间:2012-11-22 00:55:20

标签: javascript breeze

Breeze的最新版本似乎打破了executeQueryLocally。例如:

var query = new breeze.EntityQuery()
            .from("Items").where('id', '==', id);

return manager.executeQueryLocally(query);

我遇到的问题出现在stringEquals的{​​{1}}电话中。

如果是上面的简单查询,则会在id上调用getPredicateFn导致

  

5没有方法'修剪'

异常。

这是Breeze stringEquals函数:

trim()

修改

function stringEquals(a, b, lqco) { if (lqco.usesSql92CompliantStringComparison) { a = (a || "").trim(); b = (b || "").trim(); } if (!lqco.isCaseSensitive) { a = (a || "").toLowerCase(); b = (b || "").toLowerCase(); } return a == b; } 在Items模型中定义为id,在int中是数字。早期的Breeze版本没有JavaScript s,所以没有尝试修剪数字。

1 个答案:

答案 0 :(得分:3)

好的,这应该是固定的。请查看v0.73.1。 Breeze谓词现在将在比较不同类型的值(如字符串与数字)时执行类型强制。