2014-12-05 50 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假設以避免對角結合循環引用)。