2014-12-05 3 views
1

I имеют следующие метаданные:Не удается прочитать свойство «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: {} 
    } 
}; 

В интерфейсе у меня есть элемент управления (Кендо Multi-Select), который привязан к свойству ParentItemType.user (AngularJS связывания), который позволяет выбрать пользователя из списка (извлекается с помощью моста бриз-кендо и адаптера «webApiOData»).

Выбор пользователя приводит к исключению объекта «Невозможно прочитать свойство» Необязательное исключение в setNpValue (https://github.com/Breeze/breeze.js/blob/397b2a02aa2173175c304eb1b37332f1656db6f5/src/a35_defaultPropertyInterceptor.js#L298).

context.newValue - это моя пользовательская сущность, которая фактически не имеет entityAspect (но она содержит свойство __breezeEntity, содержащее объект entityAspect).

Это ошибка где-то в моем определении метаданных?

Edit: Я использую Breeze 1.5.1

+0

Я не вижу проблем, которые выделяются в ваших метаданных, но я также не вижу метода setNpValue. Где это? –

+0

Эта функция от Бриз: https://github.com/Breeze/breeze.js/blob/397b2a02aa2173175c304eb1b37332f1656db6f5/src/a35_defaultPropertyInterceptor.js#L279 –

+0

Ah, устанавливая свойство навигации. Получил это, подумал, что это специфично для вашего кода - подумайте о том, чтобы добавить версию Breeze и номер строки к вашему вопросу, поскольку это может помочь IdeaBlade или кому-то помочь вам. –

ответ

1

Мы нашли причину проблемы, чтобы быть breeze-kendo DataSource, который удаляет entityAspect (я предполагаю, чтобы избежать циклических ссылок на угловой привязки).

Смежные вопросы