ChangeOperationResponse Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Nach einem Aufruf von SaveChanges() zurückgegebene Ergebnisse, wenn von der DataServiceResponse-Klasse zurückgegebene Vorgangsantworten aufgelistet werden.
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
- Vererbung
Beispiele
Der folgende Code zeigt, wie die Ergebnisse eines Aufrufs von verarbeitet werden 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.
}
}
Hinweise
ChangeOperationResponse-Objekte sollen nicht von einem Benutzer dieser Bibliothek direkt erstellt werden. Stattdessen werden beim Auflisten der über den Enumerator in der DataServiceResponse-Klasse zurückgegebenen Vorgangsantworten Verweise zurückgegeben.
SaveChanges sendet an den Datendienst ausstehende Änderungen, die seit dem letzten Aufruf von DataServiceContext vom SaveChanges gesammelt wurden. Dem Kontext werden Änderungen hinzugefügt, indem AddObject, AddLink, DeleteObject, DeleteLink, Detach, DetachLink und ähnliche Methoden aufgerufen werden.
SaveChanges gibt eine DataServiceResponse zurück, die die Antwort auf alle an den Datendienst gesendeten Vorgänge darstellt. Das DataServiceResponse-Objekt enthält eine Sequenz von ChangeOperationResponse-Objekten, die wiederum eine Sequenz von EntityDescriptor-Instanzen oder LinkDescriptor-Instanzen enthalten, die die beibehaltenen Änderungen oder Änderungsversuche darstellen.
Eigenschaften
Descriptor |
Ruft den durch einen Änderungsvorgang geänderten EntityDescriptor oder LinkDescriptor ab. |
Error |
Ruft den vom Vorgang ausgelösten Fehler ab. (Geerbt von OperationResponse) |
Headers |
Enthält beim Überschreiben in einer abgeleiteten Klasse die einem einzelnen Vorgang zugeordneten HTTP-Antwortheader. (Geerbt von OperationResponse) |
StatusCode |
Ruft beim Überschreiben in einer abgeleiteten Klasse den einem einzelnen Vorgang zugeordneten HTTP-Antwortcode ab oder legt ihn fest. (Geerbt von OperationResponse) |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |