RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync 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.
Überlädt
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Führt die angegebene SQL für die Datenbank aus und gibt die Anzahl der betroffenen Zeilen zurück. |
ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Führt die angegebene SQL für die Datenbank aus und gibt die Anzahl der betroffenen Zeilen zurück. |
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Führt die angegebene SQL für die Datenbank aus und gibt die Anzahl der betroffenen Zeilen zurück. |
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)
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> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
Parameter
- databaseFacade
- DatabaseFacade
Die DatabaseFacade für den Kontext.
- sql
- String
Der auszuführende SQL-Code.
- parameters
- IEnumerable<Object>
Parameter, die mit sql verwendet werden sollen.
- cancellationToken
- CancellationToken
Ein CancellationToken , der beobachtet werden soll, während auf den Abschluss der Aufgabe gewartet wird.
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. Eine ExecutionStrategy kann explizit verwendet werden, um sicherzustellen, dass auch eine Transaktion verwendet wird, wenn sql nicht idempotent ist.
Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich 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.
Übergeben Sie jedoch niemals eine verkettete oder interpolierte Zeichenfolge ($""
) mit nicht überprüften vom Benutzer bereitgestellten Werten an diese Methode. Dies kann Ihre Anwendung angriffen durch SQL-Einschleusung aussetzen. Um die interpolierte Zeichenfolgensyntax zu verwenden, sollten Sie verwenden ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) , um Parameter zu erstellen.
Weitere Informationen und Beispiele finden Sie unter Ausführen von unformatierten SQL-Befehlen mit EF Core .
Gilt für:
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])
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> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Task(Of Integer)
Parameter
- databaseFacade
- DatabaseFacade
Die DatabaseFacade für den Kontext.
- sql
- String
Der auszuführende SQL-Code.
- parameters
- Object[]
Parameter, die mit sql verwendet werden sollen.
Gibt zurück
Eine Aufgabe, die den asynchronen Vorgang darstellt. Das Aufgabenergebnis ist die Anzahl der betroffenen Zeilen.
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, wobei sichergestellt wird, dass auch eine Transaktion verwendet wird, wenn die SQL-Instanz nicht idempotent ist.
Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich 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.
Übergeben Sie jedoch niemals eine verkettete oder interpolierte Zeichenfolge ($""
) mit nicht überprüften vom Benutzer bereitgestellten Werten an diese Methode. Dies kann Ihre Anwendung angriffen durch SQL-Einschleusung aussetzen. Um die interpolierte Zeichenfolgensyntax zu verwenden, sollten Sie verwenden ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) , um Parameter zu erstellen.
Weitere Informationen und Beispiele finden Sie unter Ausführen von unformatierten SQL-Befehlen mit EF Core .
Gilt für:
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)
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> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
Parameter
- databaseFacade
- DatabaseFacade
Die DatabaseFacade für den Kontext.
- sql
- String
Der auszuführende SQL-Code.
- cancellationToken
- CancellationToken
Ein CancellationToken , der beobachtet werden soll, während auf den Abschluss der Aufgabe gewartet wird.
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, wobei sichergestellt wird, dass auch eine Transaktion verwendet wird, wenn die SQL-Instanz nicht idempotent ist.
Übergeben Sie niemals eine verkettete oder interpolierte Zeichenfolge ($""
) mit nicht überprüften vom Benutzer bereitgestellten Werten an diese Methode. Dies kann Ihre Anwendung angriffen durch SQL-Einschleusung aussetzen.
Weitere Informationen und Beispiele finden Sie unter Ausführen von unformatierten SQL-Befehlen mit EF Core .
Gilt für:
Entity Framework