属性 名称等于搜索值时的错误结果

Wrong results when property name equals search value

我在我的项目中使用 Breeze.js 和以下查询 returns 我在本地缓存中拥有的所有组实体,尽管其中只有一个具有 group==group

breeze.EntityQuery.from('Groups').using(manager).where('group', '==', 'group').executeLocally();

这里是我的元数据定义:

{
  "shortName": "Group",
  "namespace": "CM.Models",
  "baseTypeName": "Entity",
  "autoGeneratedKeyType": "Identity",
  "defaultResourceName": "Groups",
  "dataProperties": [
    {
      "name": "groupID",
      "dataType": "String",
      "maxLength": 32,
      "defaultValue": "",
      "validators": [
        {
          "name": "maxLength",
          "maxLength": 32
        }
      ]
    },
    {
      "name": "group",
      "dataType": "String",
      "maxLength": 32,
      "defaultValue": "",
      "validators": [
        {
          "name": "required"
        },
        {
          "name": "maxLength",
          "maxLength": 32
        }
      ]
    },
    {
      "name": "groupMembers",
      "dataType": "String",
      "isScalar": false,
      "defaultValue": []
    }
  ]
}

是否是 Breeze.js 的错误?

作为参考,我在深入研究 breeze.js 代码后找到了答案。事实证明,可以逃避评估方。因此查询变为:

breeze.EntityQuery.from('Groups').using(manager).where('group', '==', "'group'").executeLocally();

"'group'" 插入 'group'