Breeze JS: ошибка в manager.fetchMetadata() после обновления с 1.4.4 до 1.4.5 для поддержки модели Entity Framework 6

Я только что обновил Breeze (клиент и сервер) с 1.4.4 до 1.4.5. Когда я переключился на сервер, на котором обновлен Breeze (используя Breeze 1.4.5, Entity Framework 6, Web Api 2, MVC 5), у меня возникла следующая ошибка при извлечении метаданных (manager.fetchMetadata()). Это сообщение об ошибке, которое у меня есть:

Не удалось выполнить запрос метаданных для: http://localhost:50015/breeze/Application/Metadata. Невозможно ни разобрать, ни импортировать метаданные: неверные свойства навигации; [Объект Object]

Если я укажу на сервер, основанный на Breeze 1.4.4, Entity Framework 5, Web Api 1, MVC 4, мой SPA не сломается на manager.fetchMetadata(). Это не соответствует обещанию .fail.

Обе модели Entity Framework указывают на одну и ту же базу данных, имеют одни и те же сущности и одни и те же данные.

Была ли эта ошибка введена в Breeze 1.4.5?? Или я пропустил шаг в процессе обновления?? По сути, я использую точно такой же код в своем контроллере бриза от 1.4.4 до 1.4.5. Также клиент Breeze был обновлен до версии 1.4.5. Если вам нужны метаданные, дайте мне знать, и я могу их предоставить.


person dlabarca    schedule 12.11.2013    source источник


Ответы (2)


Я обнаружил проблему, отладил функцию, извлекающую метаданные, и обнаружил несколько сущностей на стороне клиента, которые были определены с помощью ассоциаций, указывающих на старые пространства имен Entity Framework 5. Это вызывало исключение в CsdlMetadataParser.parse в Breeze. Я исправил пространства имен, и проблема была решена.

person dlabarca    schedule 14.11.2013
comment
Какие ассоциации? Я получаю эту ошибку, и она даже не доходит до CsdlMetadataparser.parse - person Jake Gaston; 11.02.2017

Извините, я понятия не имею, с чем вы столкнулись. Мы преобразовали большинство образцов Breeze для использования Breeze 1.4.5 и WebApi 2/Entity Framework 6, так что вы можете взглянуть на них. Сюда входят образцы DocCode и ToDo/Angular (среди прочего). Я предполагаю, что что-то было упущено во время вашего обновления.

Я обнаружил, что сначала удаляя все соответствующие пакеты nuget, а затем переустанавливая их, эти проблемы обычно устраняются.

Пожалуйста, отпишитесь, когда разберетесь с этим, чтобы мы могли сообщить другим.

person Jay Traband    schedule 13.11.2013
comment
Я обнаружил проблему, отладил функцию, извлекающую метаданные, и обнаружил несколько сущностей на стороне клиента, которые были определены с помощью ассоциаций, указывающих на старые пространства имен Entity Framework 5. Это вызывало исключение в CsdlMetadataParser.parse в Breeze. Я исправил пространства имен, и проблема была решена. - person dlabarca; 14.11.2013