2014-12-05 59 views
1

属性“entityState”我有以下的元数据:无法读取的未定义

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: {} 
    } 
}; 

在我有一个控制(剑道多选择),它被绑定到ParentItemType.user属性的UI(AngularJS结合),它允许从列表中选择一个用户(使用breeze-kendo桥和'webApiOData'适配器检索)。

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

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

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

编辑:我使用微风1.5.1

+0

我没有看到在您的元数据中突出的任何问题,但我也没有看到setNpValue方法。这是哪里? – 2014-12-05 15:13:19

+0

这个函数来自Breeze:https://github.com/Breeze/breeze.js/blob/397b2a02aa2173175c304eb1b37332f1656db6f5/src/a35_defaultPropertyInterceptor.js#L279 – 2014-12-05 18:49:10

+0

啊设置导航属性。明白了,认为它是特定于你的代码的 - 考虑在你的问题中添加Breeze版本和行号,因为它可能有助于IdeaBlade或某人来帮助你。 – 2014-12-05 18:51:21

回答

1

我们发现是breeze-kendo数据源其去除entityAspect的问题的原因(I假设以避免对角结合循环引用)。