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,所以没有尝试修剪数字。
答案 0 :(得分:3)
好的,这应该是固定的。请查看v0.73.1。 Breeze谓词现在将在比较不同类型的值(如字符串与数字)时执行类型强制。