RelationalDatabaseFacadeExtensions.ExecuteSqlAsync Methode
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.
Führt die angegebene SQL für die Datenbank aus und gibt die Anzahl der betroffenen Zeilen zurück.
public static System.Threading.Tasks.Task<int> ExecuteSqlAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlAsync (databaseFacade As DatabaseFacade, sql As FormattableString, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
Parameter
- databaseFacade
- DatabaseFacade
Der DatabaseFacade für den Kontext.
Die interpolierte Zeichenfolge, die eine SQL-Abfrage mit Parametern darstellt.
- cancellationToken
- CancellationToken
Ein CancellationToken , der beim Warten auf den Abschluss der Aufgabe zu beobachten ist.
Gibt zurück
Eine Aufgabe, die den asynchronen Vorgang darstellt. Das Aufgabenergebnis ist die Anzahl der betroffenen Zeilen.
Ausnahmen
Wenn CancellationToken abgebrochen ist.
Hinweise
Beachten Sie, dass diese Methode keine Transaktion startet. Um diese Methode mit einer Transaktion zu verwenden, rufen Sie zuerst oder auf BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction.
Beachten Sie, dass die aktuelle ExecutionStrategy von dieser Methode nicht verwendet wird, da SQL möglicherweise nicht idempotent ist und nicht in einer Transaktion ausgeführt wird. Ein ExecutionStrategy kann explizit verwendet werden. Stellen Sie sicher, dass Sie auch eine Transaktion verwenden, wenn sql nicht idempotent ist.
Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um vor einem SQL-Einschleusungsangriff zu schützen. Sie können Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen und dann Parameterwerte als zusätzliche Argumente angeben. Alle von Ihnen angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.
Weitere Informationen und Beispiele finden Sie unter Ausführen von SQL-Raw-Befehlen mit EF Core .
Gilt für:
Entity Framework