Я недавно обновил до последней версии Breezejs (от 1.3.6 до 1.4.1). У меня есть ситуации, когда я выборки объектов с сервера, и я получаю что-то вродеОбъекты слияния новой версии Breezejs функции
{
"$type": "X.Y.Reference, X.Y",
"ReferenceTypeId": "BookEdited",
"ShouldDisplay": true,
"ShortTitle": "Informationsethik 1995",
"Title": "Informationsethik",
"Year": "1995",
"YearResolved": "1995",
"CloudProjectSubset": "ReferenceNavigation",
"Id": "34e1f0d1-eda7-4926-a13f-e75e43ff66b5",
"ProjectId": "syncproject1"
},
Я хотел бы, чтобы вы заметили свойство «ShouldDisplay» значение ИСТИНА. Позже, в связи с логикой моего приложения, я еще один запрос, и я среди других, один и тот же объект, на этот раз так:
{
"$type": "X.Y.Reference, X.Y",
"ReferenceTypeId": "BookEdited",
"ShortTitle": "Informationsethik 1995",
"Title": "Informationsethik",
"Year": "1995",
"YearResolved": "1995",
"CloudProjectSubset": "ReferenceNavigation",
"Id": "34e1f0d1-eda7-4926-a13f-e75e43ff66b5",
"ProjectId": "syncproject1"
},
уведомления я больше не получить свойство «ShouldDisplay», который правильно из-за моей логики. Breezejs объединяет объекты в локальный кеш после каждого запроса. Дело в том, что при использовании версии 1.3.6 после второго запроса у меня все еще есть моя сущность с 'ShouldDisplay', установленная в true (именно это я хочу), потому что второй запрос возвращает тот же объект без этого свойства, что тогда не переписать. Принимая во внимание, что если я использую versio 1.4.1, свойство (даже если оно не сериализовано) все равно перезаписывается и устанавливается в null, что не то, что я хотел бы. Короче говоря, мне кажется, что в версии 1.3.6 только возвращаемые свойства были фактически перезаписаны, а вместо 1.4.1 все свойства были перезаписаны. На Breezejs's website или в Интернете я не нашел информации об этом «слиянии» поведения, только настройке стратегий слияния в отношении ожидающих изменений, и это не то, с чем я сейчас сталкиваюсь. Кто-нибудь знает, так ли работает Breezejs, или мне не хватает какой-либо конфигурации? Спасибо.
Последняя версия бриза - 1.4.9. Это то, что вы используете? –
Да, это так. Я обновил его вчера. До версии 1.3.6 она работала нормально (на самом деле строка кода, на которую я указываю в моем ответе ниже, не имела проверки! == undefined), из 1.4.1 и будущих выпусков у меня была эта проблема, которая казалась мне решить вчера. Все еще не знаю, является ли это особенностью или ошибкой. –