OfflineOData RemoveDefiningRequest¶
OfflineOData RemoveDefiningRequest action is used to remove a defining query.
OfflineOData RemoveDefiningRequest Properties¶
Property | Type | Required |
---|---|---|
DefiningRequest | DefiningRequest | Yes |
Service | Service | Yes |
_Type | const |
Yes |
DefiningRequest¶
The defining request to remove
- type: DefiningRequest
Service¶
The target service
- type: Service
_Type¶
- type:
const
The value of this property must be:
"Action.Type.OfflineOData.RemoveDefiningRequest"
Action Result¶
The ActionResult of this action is null
.
Defining Request Types¶
There are three types of defining request:
type 1 - A defining request that identifies one or more entities where the automaticallyRetrievesStreams property is set to false. In this case, even if the defining request identifies media entities, the media streams will not be downloaded.
{
"Name": "Customers",
"Query": "Customers"
},
type 2 - A defining request that identifies one or more entities, some of which may be media entities, and where the automaticallyRetrievesStreams property is set to true. In this case, the media streams will be downloaded for media entities.
{
"Name": "Products",
"Query": "Products",
"AutomaticallyRetrievesStreams": true
},
type 3 - A defining request that identifies a single media entity and the automaticallyRetrievesStreams property is set to true. The URL specified in this case MUST be the read link of the media entity, not the read link of the media stream.
{
"Name": "Products(101)",
"Query": "Products(101)",
"AutomaticallyRetrievesStreams": true
},
Mobile Services Option¶
If 'allow_defining_query_removal' option in Mobile Services is not enabled, only the defining request of type 3 can be removed.
If 'allow_defining_query_removal' option in Mobile Services is enabled, all types can be removed when there is no pending change. Removing a defining request from the provider will delete all local data of the defining request in OfflineODataProvider, like entities downloaded from the backend, relationships associated with the entities, and their media streams. The local data is always deleted immediately. But if non-shared delta tracking is enabled, the name of the defining request and its change logs on the server will be deleted during next download.
Examples¶
{
"_Type": "Action.Type.OfflineOData.RemoveDefiningRequest",
"Service": "/MyMDKApp/Services/MyOData.service",
"DefiningRequest": {
"Name": "Products"
}
}
{
"_Type": "Action.Type.OfflineOData.RemoveDefiningRequest",
"Service": "/MyMDKApp/Services/MyOData.service",
"DefiningRequest": {
"Name": "{@odata.readLink}"
}
}