In Entity Framework 6 können Sie unter der DbContext-Klasse die aktuelle Transaktion über context.Database.CurrentTransaction abrufen. Diese API scheint jedoch in EF.Core nicht verfügbar zu sein. Wie kann ich das aktuelle Transaktionsobjekt von einem dbcontext in EF.Core abrufen?So erhalten Sie die aktuelle Transaktion vom dbcontext
Antwort
EF Core fehlt immer noch viele EF6-Funktionen, aber (langsam) holt auf.
In dieser Hinsicht kann ich nicht für frühere Versionen sagen, aber in der neuesten (bisher) v1.1.0 die DbContext.Database
CurrentTransaction
Eigenschaft ist da, so können Sie den gleichen Code wie in EF6 verwenden, um darauf zuzugreifen.
: Es ist kein Verfahren für die aktuelle Transaktion in Datenbank-Eigenschaft von DbContext abzurufen, anbyway eine Transaktion mit EF-Core zu starten, können Sie diesen Code hinzu:
using (var transaction = dbContext.Database.BeginTransaction())
{
try
{
// add code for ef core
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
throw ex;
}
}
Lassen Sie mich wissen, wenn dies nützlich .
Meine Frage ist nicht zum Starten, Commit oder Rollback einer Transaktion. Also sagen Sie, dass es eine fehlende Funktionalität ist, die in EF6, aber nicht in EF.Core verfügbar war? – BKS
Der Link von @Ivan oben zeigt deutlich, dass dies in der neuesten Version von EF Core unterstützt wird. Nichts für ungut, aber deshalb stimme ich negativ auf deine Antwort – BKS
Mach dir keine Sorgen, schön zu wissen, das Problem ist in der letzten Version von EF Core gelöst –
- 1. So erhalten Sie die aktuelle Route Guard
- 2. So erhalten Sie aktuelle Modul Objekt vom Modell in Yii2
- 3. So erhalten Sie aktuelle Top-Aktivität Kontext
- 4. Android - So erhalten Sie aktuelle Hintergrundbild Name
- 5. So erhalten Sie das aktuelle Elementattribut
- 6. So erhalten Sie programmgesteuert das aktuelle Datenbankschema
- 7. So erhalten Sie die aktuelle Suchleiste während der Eingabe
- 8. So erhalten Sie die aktuelle URL von ASP.NET-Code hinter
- 9. So erhalten Sie die aktuelle Modellinstanz von inlineadmin in Django
- 10. So erhalten Sie die aktuelle URL als Observable
- 11. So erhalten Sie die aktuelle Kultur in SQL
- 12. So erhalten Sie die aktuelle Wiedergabezeit von GVRVideoView
- 13. So erhalten Sie die aktuelle Zelle in radScheduler
- 14. So erhalten Sie HTML vom WebBrowser-Steuerelement
- 15. So erhalten Sie die Standardshell
- 16. Erhalten Sie aktuelle Zeit
- 17. So erhalten Sie den Beleg pro Transaktion in IOS
- 18. Mutation Observer: So erhalten Sie aktuelle Daten aus Mutation Record?
- 19. Dynamisch erhalten Sie die aktuelle Zeilennummer
- 20. So erhalten Sie Sichtbarkeit für eingefügte Datensätze, in denen DbContext noch nicht gespeichert ist
- 21. So aktivieren Sie die aktuelle Registerkarte
- 22. So erkennen Sie die aktuelle Instanz
- 23. Wie überprüft man, ob DbContext eine Transaktion hat?
- 24. So erhalten Sie aktuelle Suchergebnisse bei der Suche nach Javadoc
- 25. So erhalten Sie das aktuelle Gebietsschema in GWT mit LocaleInfo
- 26. So erhalten Sie aktuelle Hosting-Adresse ohne Anfrage
- 27. So erhalten Sie aktuelle Aktivität von IME-Dienst in Android
- 28. So erhalten Sie aktuelle Seitenränder mit iText API
- 29. Angular 2 - So erhalten Sie aktuelle URL in App-Komponente
- 30. jQuery Sortierbar - So erhalten Sie aktuelle Element Element gezogen
Ich kann die älteren Versionen nicht überprüfen, aber in EF Core v1.1.0 können Sie den gleichen Code wie in EF6 verwenden. –
Können Sie mich auf .Core Dokumentation verweisen, wo DbContext diese Eigenschaften zur Verfügung hat? Ich sehe diese nicht. – BKS
Sicher, hier gehts https://docs.microsoft.com/en-us/ef/core/api/microsoft.entityframeworkcore.infrastructure.databasefacade#Microsoft_EntityFrameworkCore_Infrastructure_DatabaseFacade_CurrentTransaction –