Sprache

RelationalDatabaseFacadeExtensions.ExecuteSql Methode

Definition

Führt die angegebene SQL-Anweisung für die Datenbank aus und gibt die Anzahl der betroffenen Zeilen zurück.

public static int ExecuteSql(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member ExecuteSql : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> int
<Extension()>
Public Function ExecuteSql (databaseFacade As DatabaseFacade, sql As FormattableString) As Integer

Parameter

databaseFacade
DatabaseFacade

Der DatabaseFacade für den Kontext.

sql
FormattableString

Die interpolierte Zeichenfolge, die eine SQL-Abfrage mit Parametern darstellt.

Gibt zurück

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 auf BeginTransaction(DatabaseFacade, IsolationLevel) oder UseTransaction.

Beachten Sie, dass die aktuelle ExecutionStrategy Methode nicht von dieser Methode 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 die SQL nicht idempotent ist.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, jede Benutzereingabe zu parametrisieren, um vor einem SQL-Einfügungsangriff zu schützen. Sie können Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen und dann Parameterwerte als zusätzliche Argumente angeben. Alle parameterwerte, die Sie angeben, werden automatisch in einen DbParameter konvertiert.

Weitere Informationen und Beispiele finden Sie unter Ausführen von unformatierten SQL-Befehlen mit EF Core .

Gilt für: