Verwendet Entity Framework eine Transaktion für den Aufruf von SaveChanges in Ihrem Kontext? Gibt es eine Möglichkeit, Transaktionen vollständig zu deaktivieren oder eine bestimmte Entität von einer Transaktion auszuschließen?
%Vor%Ja , EF4 erstellt eine neue Transaktion, falls noch keine vorhanden ist. Siehe
Wenn Sie SaveChanges aufrufen, wenn a aktuelle Transaktion existiert, die Entität Framework verwendet diese Transaktion für Operationen gegen die Datenquelle. Sonst schafft es ein neues Transaktion für die Operation. Sie können Definieren Sie Transaktionen mit EntityTransaction, Transaktion oder TransactionScope.
Nein , es gibt keine Möglichkeit, eine einzelne Entität von der Transaktion auszunehmen.
Ich bin mir nicht sicher über Ihre dritte Frage - ob Sie die Transaktionen komplett abschalten können, aber ich vermute, dass sie nicht auf dem obigen Auszug basieren.
Ich weiß, dass dies nicht die Antwort ist, die Sie hören wollten, aber wenn Sie möchten, dass P2 unabhängig davon speichert, ob P1 erfolgreich ist, müssten Sie P2 in einen anderen Objektkontext speichern.
Zur neuesten Frage nach dem Abschalten der Transaktionen.
Versuchen Sie, TransactionScope mit Suppress TransactionScopeOption zu erstellen, um die Transaktionen für den Code vollständig zu deaktivieren Block. Werfen Sie einen Blick auf diesen Thread für weitere Informationen .
Tags und Links c# entity-framework-4 transactions