BreezeJS中包含单引号或双引号的字符串查询返回错误

BreezeJS中包含单引号或双引号的字符串查询返回错误,breeze,Breeze,我有一个搜索字段的文本输入,然后字符串被传递到EntityQuery。当查询包含单个报价时,我会收到如下消息: “substringof(O'Malley,FirstName)eq true”中的位置39处有一个未终止的字符串文字 甚至在硬编码查询时也会发生这种情况,如下所示: var query = breeze.EntityQuery .from("Users") .expand("GroupUsers.Group")

我有一个搜索字段的文本输入,然后字符串被传递到EntityQuery。当查询包含单个报价时,我会收到如下消息:

“substringof(O'Malley,FirstName)eq true”中的位置39处有一个未终止的字符串文字

甚至在硬编码查询时也会发生这种情况,如下所示:

var query = breeze.EntityQuery
                .from("Users")
                .expand("GroupUsers.Group")
                .where("lastName", "contains","O'Malley")
                .skip(skipAmt)
                .take(pageSize)
                .inlineCount(true);

我尝试过通过使用双单引号或使用\'来转义单引号,但仍然返回一个错误。这同样发生在双引号中。什么是转义字符串文字字符的正确方法?

我无法重新编程。你应该能够通过简单地加倍它来摆脱单一的。例如,以下查询在v1.2.8上运行时没有问题

 var q = EntityQuery.from("Employees")
        .where("lastName", "contains", "O''Malley");

如果您将查询“简化”为where“子句”,问题还会出现吗

这对我有用。当我试图用双引号来逃避它时,我错了。现在,当查询字符串出现时,我只运行
filterText=filterText.replace(/'/g,'')
这不应该被认为是breeze中的一个bug吗?我希望它能为我处理转义。下一个版本1.4.8将完全做到这一点。大约一周后就可以出来了。