ChangeOperationResponse Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Resultat som returneras efter ett anrop till SaveChanges() vid uppräkning av åtgärdssvar som returneras av DataServiceResponse klassen.
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
- Arv
Exempel
Följande kod visar hur du bearbetar resultatet av ett anrop till 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.
}
}
Kommentarer
ChangeOperationResponse objekt är inte avsedda att konstrueras direkt av en användare av det här biblioteket. I stället returneras referenser när åtgärdssvaren räknas upp som returneras via uppräknaren för DataServiceResponse klassen.
SaveChanges skickar väntande ändringar i datatjänsten som samlats in av DataServiceContext sedan det senaste anropet till SaveChanges. Ändringar läggs till i kontexten genom att anropa AddObject, AddLink, DeleteObject, DeleteLink, Detach, DetachLinkoch liknande metoder.
SaveChanges returnerar ett DataServiceResponse som representerar svaret på alla åtgärder som skickas till datatjänsten. Objektet DataServiceResponse innehåller en sekvens med ChangeOperationResponse objekt som i sin tur innehåller en sekvens med EntityDescriptor eller LinkDescriptor instanser som representerar de ändringar som har sparats eller försökts.
Egenskaper
| Name | Description |
|---|---|
| Descriptor |
EntityDescriptor Hämtar eller LinkDescriptor ändras av en ändringsåtgärd. |
| Error |
Hämtar fel som utlöses av åtgärden. (Ärvd från OperationResponse) |
| Headers |
När den åsidosättas i en härledd klass innehåller den HTTP-svarsrubriker som är associerade med en enda åtgärd. (Ärvd från OperationResponse) |
| StatusCode |
När den åsidosättas i en härledd klass hämtar eller anger du DEN HTTP-svarskod som är associerad med en enda åtgärd. (Ärvd från OperationResponse) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |