无法读取属性' entityState'未定义的

时间:2014-12-05 10:01:37

标签: angularjs kendo-ui breeze

我有以下元数据:

var entityTypeParent = {
    shortName: 'ParentItemType',
    namespace: 'MyNamespace',
    autoGeneratedKeyType: Identity,
    defaultResourceName: 'ParentItemTypes',

    dataProperties: {
        id: { dataType: DT.Int32, isPartOfKey: true },
        userId: {}
    },

    navigationProperties: {
        user: {
            entityTypeName: 'User',
            isScalar: true,
            associationName: 'ParentItem_User',
            foreignKeyNames: ['userId']
        }
    }
};

var entityTypeUser = {
    shortName: 'User',
    namespace: 'MyNamespace',
    autoGeneratedKeyType: Identity,
    defaultResourceName: 'Users',

    dataProperties: {
        loginName: { dataType: DT.String, isPartOfKey: true },
        displayText: {}
    }
};

在UI中,我有一个控件(Kendo Multi-Select),它绑定到ParentItemType.user属性(AngularJS绑定),允许从列表中选择用户(使用breeze-kendo桥和'webApiOData检索) '适配器)。

选择用户会导致setNpValuehttps://github.com/Breeze/breeze.js/blob/397b2a02aa2173175c304eb1b37332f1656db6f5/src/a35_defaultPropertyInterceptor.js#L298)中的“无法读取未定义的属性'entityState'”异常。

context.newValue是我的用户实体,它实际上没有entityAspect(但它包含一个包含entityAspect的__breezeEntity属性。)

这是我的元数据定义中的某个错误吗?

编辑:我正在使用Breeze 1.5.1

1 个答案:

答案 0 :(得分:1)

我们发现问题的原因是breeze-kendo数据源删除了entityAspect(我假设避免使用角度绑定的循环引用)。