Breeze の最新バージョンでは、executeQueryLocally が壊れているようです。例えば:
var query = new breeze.EntityQuery()
.from("Items").where('id', '==', id);
return manager.executeQueryLocally(query);
私が遭遇している問題は、 のstringEquals
通話にありgetPredicateFn
ます。
上記の単純なクエリの場合、trim()
が id で呼び出されているため、
5にはメソッド「トリム」がありません
例外。
次に 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
は Items モデルで定義されint
、 では数値ですJavaScript
。Breeze の以前のバージョンではstringEqual
s が実行されなかったため、数値のトリミングは行われませんでした。