我有以下元数据:
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检索) '适配器)。
选择用户会导致setNpValue
(https://github.com/Breeze/breeze.js/blob/397b2a02aa2173175c304eb1b37332f1656db6f5/src/a35_defaultPropertyInterceptor.js#L298)中的“无法读取未定义的属性'entityState'”异常。
context.newValue
是我的用户实体,它实际上没有entityAspect
(但它包含一个包含entityAspect的__breezeEntity
属性。)
这是我的元数据定义中的某个错误吗?
编辑:我正在使用Breeze 1.5.1