RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Spustí daný jazyk SQL proti databázi a vrátí počet ovlivněných řádků. |
ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Spustí daný jazyk SQL proti databázi a vrátí počet ovlivněných řádků. |
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Spustí daný jazyk SQL proti databázi a vrátí počet ovlivněných řádků. |
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)
Spustí daný jazyk SQL proti databázi a vrátí počet ovlivněných řádků.
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)
Parametry
- databaseFacade
- DatabaseFacade
Kontext DatabaseFacade .
- sql
- String
SQL, který se má spustit.
- parameters
- IEnumerable<Object>
Parametry, které se mají použít s SQL.
- cancellationToken
- CancellationToken
K CancellationToken pozorování při čekání na dokončení úlohy.
Návraty
Úloha, která představuje asynchronní operaci. Výsledek úkolu je počet ovlivněných řádků.
Výjimky
CancellationToken Pokud je zrušena.
Poznámky
Všimněte si, že tato metoda nespustí transakci. Chcete-li použít tuto metodu s transakcí, nejprve zavolejte BeginTransaction(DatabaseFacade, IsolationLevel) nebo UseTransaction.
Všimněte si, že aktuální ExecutionStrategy není používán touto metodou, protože SQL nemusí být idempotentní a nespustí v transakci. ExecutionStrategy lze použít explicitně, přičemž nezapomeňte také použít transakci, pokud SQL není idempotentní.
Stejně jako u každého rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitelé míst parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter.
Nikdy však do této metody nepředávejte zřetězený nebo interpolovaný řetězec ($""
) s neověřenými hodnotami zadanými uživatelem. To může vaši aplikaci vystavit útokům prostřednictvím injektáže SQL. Pokud chcete použít syntaxi interpolovaných řetězců, zvažte použití ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) parametru k vytvoření parametrů.
Další informace a příklady najdete v tématu Spouštění nezpracovaných příkazů SQL pomocí EF Core .
Platí pro
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])
Spustí daný jazyk SQL proti databázi a vrátí počet ovlivněných řádků.
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)
Parametry
- databaseFacade
- DatabaseFacade
Kontext DatabaseFacade .
- sql
- String
SQL, který se má spustit.
- parameters
- Object[]
Parametry, které se mají použít s SQL.
Návraty
Úloha, která představuje asynchronní operaci. Výsledek úkolu je počet ovlivněných řádků.
Poznámky
Všimněte si, že tato metoda nespustí transakci. Chcete-li použít tuto metodu s transakcí, nejprve zavolejte BeginTransaction(DatabaseFacade, IsolationLevel) nebo UseTransaction.
Všimněte si, že aktuální ExecutionStrategy není používán touto metodou, protože SQL nemusí být idempotentní a nespustí v transakci. Je ExecutionStrategy možné použít explicitně a nezapomeňte také použít transakci, pokud SQL není idempotentní.
Stejně jako u každého rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli uživatelský vstup, aby se chránil před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitelé míst parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter.
Nikdy však do této metody nepředávejte zřetězený nebo interpolovaný řetězec ($""
) s neověřenými hodnotami zadanými uživatelem. To může vaši aplikaci vystavit útokům prostřednictvím injektáže SQL. Pokud chcete použít syntaxi interpolovaných řetězců, zvažte použití ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) parametru k vytvoření parametrů.
Další informace a příklady najdete v tématu Spouštění nezpracovaných příkazů SQL pomocí EF Core .
Platí pro
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)
Spustí daný jazyk SQL proti databázi a vrátí počet ovlivněných řádků.
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)
Parametry
- databaseFacade
- DatabaseFacade
Kontext DatabaseFacade .
- sql
- String
SQL, který se má spustit.
- cancellationToken
- CancellationToken
K CancellationToken pozorování při čekání na dokončení úlohy.
Návraty
Úloha, která představuje asynchronní operaci. Výsledek úkolu je počet ovlivněných řádků.
Výjimky
CancellationToken Pokud je zrušena.
Poznámky
Všimněte si, že tato metoda nespustí transakci. Chcete-li použít tuto metodu s transakcí, nejprve zavolejte BeginTransaction(DatabaseFacade, IsolationLevel) nebo UseTransaction.
Všimněte si, že aktuální ExecutionStrategy není používán touto metodou, protože SQL nemusí být idempotentní a nespustí v transakci. Je ExecutionStrategy možné použít explicitně a nezapomeňte také použít transakci, pokud SQL není idempotentní.
Do této metody nikdy nepředávejte zřetězený nebo interpolovaný řetězec ($""
) s neověřenými hodnotami zadanými uživatelem. To může vaši aplikaci vystavit útokům prostřednictvím injektáže SQL.
Další informace a příklady najdete v tématu Spouštění nezpracovaných příkazů SQL pomocí EF Core .
Platí pro
Entity Framework