2012-06-11 6 views
12

Was ist der technische Unterschied zwischen SubmitChanges in Linq-to-SQL und SaveChanges in Entity Framework?Was ist der technische Unterschied zwischen SubmitChanges in Linq-to-SQL und SaveChanges in Entity Framework?

Wir wissen SubmitChanges ist ein Konzept für DataContext Klasse während SaveChanges ist eine Methode von ObjectContext.

Gibt es noch weitere Unterschiede?

Dank

+2

Es ist im Grunde das Gleiche - nur für zwei verschiedene Bibliotheken von Code. Aus funktionaler Sicht: Beide bestehen zunächst darin, alle Änderungen zu bestimmen, die Sie an einem Datensatz vorgenommen haben, und diese Änderungen dann in den permanenten Speicher (in der Regel die Datenbank) zu speichern. –

Antwort

26

Von MSDN:

Savechanges arbeitet innerhalb einer Transaktion. Savechanges wird die Transaktion rückgängig zu machen und eine Ausnahme auslösen, wenn eine der schmutzigen Object Objekte können nicht

SubmitChanges beibehalten werden eine Transaktion startet und rollt zurück, wenn eine Ausnahme auftritt, während SubmitChanges ausgeführt wird. Dies führt jedoch nicht zum Zurücksetzen der Änderungen im Speicher oder zur Nachverfolgung durch den DataContext. Diese Änderungen müssen manuell zurückgesetzt werden. Sie können mit einer neuen Instanz von DataContext beginnen, wenn die Änderungen im Speicher verworfen werden sollen.

Verwandte Themen