Можно ли сбрасывать / обновлять определенные автономные объекты oData в SAP Cloud Platform?

Стандартные функции flush / Refresh offline oData выполняются для всех сущностей в автономном хранилище.

Это, конечно, сказывается на мобильных данных и производительности.

Есть ли способ ПРОМЫВИТЬ / ОБНОВИТЬ только определенные объекты в автономном магазине?


person Adam Harkus    schedule 01.03.2019    source источник


Ответы (3)


Вы можете записать сущность, которую вы хотите обновить или очистить, в третьем параметре методов в виде массива строк, где каждая строка - это имя, которое вы указываете каждому entitySet в объекте definingRequests.

Представьте, что вы определили это при создании магазина:

"definingRequests" : {
    "foo" : "/fooSet",
    "bar" : "/barSet"
}

Затем, если вы хотите обновить только объект foo, метод обновления будет таким:

store.refresh(refreshCallback, errorCallback, ["foo"], progressCallback);
person Albert    schedule 10.07.2020

Для автономного OData с использованием iOS SDK есть параметр withSubset для команды download. Используя это, вы можете добавить фильтр к вашему определяющему запросу и, таким образом, загружать только определенные записи.

Документация: nofollow"> help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/2.1/en-US/Documents/Frameworks/SAPOfflineOData/Extensions/DataService.html

person Mikael G    schedule 08.11.2019

Согласно документации метод обновления:

Обновите модель.

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

Примечание. В отличие от отдельного обновления привязки, обновление модели игнорирует параметры / запросы, специфичные для привязки.

Если вы хотите получить только определенные записи в модели, вам следует изучить метод _ 1_:

Сделайте недействительной одну запись в данных модели.

Отметить выбранную запись в кэше модели как недопустимую. В следующий раз, когда будет выполнено привязка контекста или списка, запись будет определена как недопустимая и будет обновлена ​​с сервера.

person fvdalcin    schedule 29.10.2019
comment
Извинения. Я не ссылался на стандартный метод модели .refresh. Я имел в виду автономные методы очистки / обновления odata. (Капсель я думаю) - person Adam Harkus; 30.10.2019
comment
Не могли бы вы уточнить и указать на документацию? - person fvdalcin; 30.10.2019