Breeze 的最新版本似乎破坏了 executeQueryLocally。例如:
var query = new breeze.EntityQuery()
.from("Items").where('id', '==', id);
return manager.executeQueryLocally(query);
我遇到的问题是stringEquals
在getPredicateFn
.
在上面的简单查询的情况下,trim()
正在调用 id 导致
5 没有方法'trim'
例外。
这是 Breeze stringEquals 函数:
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;
}
编辑
id
定义为int
在 Items 模型上,并且是 中的数字JavaScript
。Breeze 的早期版本没有这样做stringEqual
,因此没有尝试修剪数字。