ChangeOperationResponse Klas

Definitie

Resultaten die worden geretourneerd na een aanroep bij SaveChanges() het inventariseren van bewerkingsreacties die door de DataServiceResponse klasse worden geretourneerd.

public ref class ChangeOperationResponse sealed : System::Data::Services::Client::OperationResponse
public sealed class ChangeOperationResponse : System.Data.Services.Client.OperationResponse
type ChangeOperationResponse = class
    inherit OperationResponse
Public NotInheritable Class ChangeOperationResponse
Inherits OperationResponse
Overname
ChangeOperationResponse

Voorbeelden

De volgende code laat zien hoe u de resultaten van een aanroep naar SaveChanges.

DataServiceContext service = new DataServiceContext(new Uri("http://myserviceroot"));

// Do insert, update, delete, or attach operations.

DataServiceResponse dsr;

try
{
    dsr = service.SaveChanges(SaveChangesOptions.Batch);
   // Or service.SaveChanges(SaveChangesOptions.ContinueOnError);
   //Or service.SaveChanges();
   // If there are no errors during save changes, process the results:

    if (dsr.IsBatchResponse)
    {
           /*inspect HTTP artifacts associated with the entire batch:
                             dsr.BatchHeaders, dsr.BatchStatusCode*/ }

    foreach (ChangeOperationResponse cor in dsr)
    {

            if (cor.Descriptor is EntityDescriptor)
            {
                EntityDescriptor ed = (EntityDescriptor)cor.Descriptor;
                // This should be the case if
                // SaveChanges did not throw an exception.

                // After an entity is processed by SaveChanges,
                // it is always moved to the unchanged state.
                System.Diagnostics.Debug.Assert(
                           ed.State == EntityStates.Unchanged);
                // This shows that the state should be unchanged if
                // the result is success.

                //process the entity in the response payload: ed.Entity
            }
            else if (cor.Descriptor is LinkDescriptor)
            {
                LinkDescriptor ld = (LinkDescriptor)cor.Descriptor;
               // This should be the case if SaveChanges did not throw an exception.

               // After an entity is processed by SaveChanges it
               // is always moved to the unchanged state.
                System.Diagnostics.Debug.Assert(
                            ld.State == EntityStates.Unchanged);
                // The state should be unchanged if the result is success.

                //process the link in the response payload: ld.Source,
                // ld.SourceProperty, or ld.Target.
            }
     }

}
catch (DataServiceSaveException se)
{
    // Error while saving changes
    dsr = se.Response;

    if (dsr.IsBatchResponse)
    {
        /*inspect HTTP artifacts associated with the entire batch:
             dsr.BatchHeaders, dsr.BatchStatusCode*/
}
}

    foreach (ChangeOperationResponse cor in dsr)
    {
        if (cor.Error != null)
        {
            //process error
        }
        else
        {
            // same success case processing as in the loop over DSRs results in
            // the try block. You could put that processing in a method
            // and call it from here.
        }
    }

}

 catch(Exception)
 {
    // Error while saving changes, but not thrown by the client library.

    // Process ArgumentException, InvalidOperationException, or similar.
}
}

Opmerkingen

ChangeOperationResponse objecten zijn niet bedoeld om rechtstreeks te worden samengesteld door een gebruiker van deze bibliotheek. In plaats daarvan worden verwijzingen geretourneerd bij het inventariseren van de bewerkingsreacties die worden geretourneerd via de enumerator in de DataServiceResponse klasse.

SaveChanges verzendt wachtende wijzigingen aan de gegevensservice die is verzameld door de DataServiceContext sinds de laatste aanroep naar SaveChanges. Wijzigingen worden toegevoegd aan de context door methoden aan te roepenAddObject, , AddLinkDeleteObject, DeleteLink, , Detachen DetachLinkvergelijkbare methoden.

SaveChanges retourneert een DataServiceResponse die het antwoord aangeeft van alle bewerkingen die naar de gegevensservice worden verzonden. Het DataServiceResponse object bevat een reeks ChangeOperationResponse objecten die op zijn beurt een reeks EntityDescriptor of LinkDescriptor exemplaren bevatten die de wijzigingen vertegenwoordigen die zijn persistent of geprobeerd.

Eigenschappen

Name Description
Descriptor

Hiermee haalt u de EntityDescriptor wijzigingsbewerking op of LinkDescriptor wijzigt deze.

Error

Er wordt een fout gegenereerd door de bewerking.

(Overgenomen van OperationResponse)
Headers

Wanneer deze worden overschreven in een afgeleide klasse, bevat u de HTTP-antwoordheaders die aan één bewerking zijn gekoppeld.

(Overgenomen van OperationResponse)
StatusCode

Wanneer deze wordt overschreven in een afgeleide klasse, haalt of stelt u de HTTP-antwoordcode in die is gekoppeld aan één bewerking.

(Overgenomen van OperationResponse)

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op