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 の以前のバージョンではstringEquals が実行されなかったため、数値のトリミングは行われませんでした。