Share via


DataServiceContext.BeginSaveChanges Method (SaveChangesOptions, AsyncCallback, Object)

Asynchronously submits the pending changes to the data service collected by the DataServiceContext since the last time changes were saved.

Namespace:  System.Data.Services.Client
Assembly:  Microsoft.Data.Services.Client (in Microsoft.Data.Services.Client.dll)

Syntax

'Declaration
Public Function BeginSaveChanges ( _
    options As SaveChangesOptions, _
    callback As AsyncCallback, _
    state As Object _
) As IAsyncResult
'Usage
Dim instance As DataServiceContext 
Dim options As SaveChangesOptions 
Dim callback As AsyncCallback 
Dim state As Object 
Dim returnValue As IAsyncResult 

returnValue = instance.BeginSaveChanges(options, _
    callback, state)
public IAsyncResult BeginSaveChanges(
    SaveChangesOptions options,
    AsyncCallback callback,
    Object state
)
public:
IAsyncResult^ BeginSaveChanges(
    SaveChangesOptions options, 
    AsyncCallback^ callback, 
    Object^ state
)
member BeginSaveChanges : 
        options:SaveChangesOptions * 
        callback:AsyncCallback * 
        state:Object -> IAsyncResult
public function BeginSaveChanges(
    options : SaveChangesOptions, 
    callback : AsyncCallback, 
    state : Object
) : IAsyncResult

Parameters

  • state
    Type: System.Object
    The user-defined state object that is used to pass context data to the callback method.

Return Value

Type: System.IAsyncResult
An IAsyncResult that represents the status of the asynchronous operation.

Remarks

Changes are added to the DataServiceContext by calling the AddObject, AddLink, AttachTo, AttachLink, DeleteObject, DeleteLink, Detach, or DetachLink.

If Batch is set, all pending changes are included in a single change set in a batch and submitted to the data service in a single HTTP request. This requires that the target service supports batching.

If Batch is not set:

  • Changes are sent to the data service such as in the SaveChanges() method: one operation to one HTTP request.

  • The StatusCode is always 200.

  • The Headers property returns an empty collection.

If ContinueOnError is set:

  • If an error occurs processing an operation in a change set, the subsequent operations in the change set will not be tried; however, the data service will continue to process the next change set in the batch.

  • This option cannot be set when Batch is set because when batching is enabled, all operations are positioned in a single change set.

If ContinueOnError is not set:

  • If an error occurs while processing an operation, no additional operations are processed by the data service.

A response is generated telling the client which operations were executed, their results, and what operations were not tried because of the error.

See Also

Reference

DataServiceContext Class

BeginSaveChanges Overload

System.Data.Services.Client Namespace