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.
Ergebnisse, die SaveChanges() nach einem Aufruf beim Aufzählen von Vorgangsantworten zurückgegeben wurden, die von der DataServiceResponse Klasse zurückgegeben wurden.
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 SaveChangesverarbeitet werden.
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 direkt von einem Benutzer dieser Bibliothek erstellt werden. Stattdessen werden Verweise beim Aufzählen der Vorgangsantworten zurückgegeben, die über den Enumerator für die DataServiceResponse Klasse zurückgegeben werden.
SaveChanges sendet ausstehende Änderungen an dem datendienst, der seit dem DataServiceContext letzten Aufruf SaveChangesvon . Änderungen werden dem Kontext durch Aufrufen von AddObject, , AddLink, DeleteObject, DeleteLink, , DetachDetachLinkund ähnlichen Methoden hinzugefügt.
SaveChanges gibt einen DataServiceResponse Wert zurück, der die Antwort auf alle Vorgänge darstellt, die an den Datendienst gesendet werden. Das DataServiceResponse Objekt enthält eine Abfolge von ChangeOperationResponse Objekten, die wiederum eine Abfolge von EntityDescriptor oder LinkDescriptor Instanzen enthalten, die die änderungen darstellen, die beibehalten oder versucht wurden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| Descriptor |
Dient zum Abrufen oder EntityDescriptorLinkDescriptor Ändern eines Änderungsvorgangs. |
| Error |
Ruft den Fehler ab, der vom Vorgang ausgelöst wird. (Geerbt von OperationResponse) |
| Headers |
Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, enthält sie die HTTP-Antwortheader, die einem einzelnen Vorgang zugeordnet sind. (Geerbt von OperationResponse) |
| StatusCode |
Ruft den HTTP-Antwortcode ab, der einem einzelnen Vorgang zugeordnet ist, oder legt den HTTP-Antwortcode fest, der in einer abgeleiteten Klasse überschrieben wird. (Geerbt von OperationResponse) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |