2009-08-25 13 views
4

In ADO.NET erfolgreich war, ExecuteNonQuery() "Für UPDATE, INSERT und DELETE-Anweisungen, der Rückgabewert ist die Anzahl der Zeilen, die von dem Befehl betroffen" (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx)Überprüfen Sie, ob ein Einsatz oder Update in Entity Framework

In EF v1 gibt die context.SaveChanges() -Methode "Die Anzahl der Objekte in einem hinzugefügten, geänderten oder gelöschten Zustand zurück, wenn SaveChanges aufgerufen wurde." (http://msdn.microsoft.com/en-us/library/bb739065.aspx)

Bitte sagen Sie, wenn mehrere Entitäten (oder einzelne Entität) hinzugefügt oder aktualisiert zu Kontext und Kontext.SaveChanges() -Methode aufgerufen wird, wie Sie überprüfen, ob tatsächliche INSERT oder UPDATE erfolgreich war.

Können wir davon ausgehen, dass es keine Ausnahme gab, dass INSERT (s) oder UPDATE (s) erfolgreich waren?

Danke

Antwort

6

Ja, wenn es keine Ausnahme ist, dass die Anweisungen erfolgreich ausgeführt annehmen kann.

1

Vielleicht ist dies keine direkte Antwort auf die Frage, kann aber helfen. Standardmäßig werden alle Befehle in einer DbTransaction gekapselt, wenn die SaveChanges-Methode aufgerufen wird (Julia Lerman, Programming Entity Framework). Also, oder alle Befehle werden erfolgreich ausgeführt, oder keiner von beiden. Das ist eine Möglichkeit zu wissen, ob das Einfügen, Aktualisieren oder Löschen erfolgreich war.

Verwandte Themen