Jazyk

RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Metoda

Definice

Přetížení

Název Description
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

Provede daný SQL pro databázi a vrátí počet ovlivněných řádků.

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

Provede daný SQL pro databázi a vrátí počet ovlivněných řádků.

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

Provede daný SQL pro databázi a vrátí počet ovlivněných řádků.

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs

Provede daný SQL pro 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);
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á provést.

parameters
Object[]

Parametry, které se mají použít s SQL.

Návraty

Úloha, která představuje asynchronní operaci. Výsledkem ú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í, první volání 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. Lze ExecutionStrategy použít explicitně a ujistěte se, že také použít transakci, pokud SQL není idempotentní.

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout vlastníky umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny zadané hodnoty parametrů se automaticky převedou na DbParameter.

Nikdy však nepředávejte zřetězený nebo interpolovaný řetězec ($"") s neověřenými hodnotami zadanými uživatelem do této metody. Tím se může vaše aplikace vystavit útokům prostřednictvím injektáže SQL. Pokud chcete použít interpolovanou syntaxi řetězce, zvažte použití ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) k vytvoření parametrů.

Další informace a příklady najdete v tématu Spouštění nezpracovaných příkazů SQL s EF Core .

Platí pro

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs

Provede daný SQL pro 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á provést.

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

Úloha, která představuje asynchronní operaci. Výsledkem úkolu je počet ovlivněných řádků.

Výjimky

Poznámky

Všimněte si, že tato metoda nespustí transakci. Chcete-li použít tuto metodu s transakcí, první volání 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. Lze ExecutionStrategy použít explicitně a ujistěte se, že také použít transakci, pokud SQL není idempotentní.

Nikdy nepředávejte zřetězený nebo interpolovaný řetězec ($"") s neověřenými hodnotami zadanými uživatelem do této metody. Tím se může vaše aplikace 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 s EF Core .

Platí pro

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs
Zdroj:
RelationalDatabaseFacadeExtensions.cs

Provede daný SQL pro 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);
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á provést.

parameters
IEnumerable<Object>

Parametry, které se mají použít s SQL.

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

Úloha, která představuje asynchronní operaci. Výsledkem úkolu je počet ovlivněných řádků.

Výjimky

Poznámky

Všimněte si, že tato metoda nespustí transakci. Chcete-li použít tuto metodu s transakcí, první volání 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ě a ujistěte se, že také použít transakci, pokud SQL není idempotentní.

Stejně jako u jakéhokoli rozhraní API, které přijímá SQL, je důležité parametrizovat jakýkoli vstup uživatele pro ochranu před útokem prostřednictvím injektáže SQL. Do řetězce dotazu SQL můžete zahrnout vlastníky umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny zadané hodnoty parametrů se automaticky převedou na DbParameter.

Nikdy však nepředávejte zřetězený nebo interpolovaný řetězec ($"") s neověřenými hodnotami zadanými uživatelem do této metody. Tím se může vaše aplikace vystavit útokům prostřednictvím injektáže SQL. Pokud chcete použít interpolovanou syntaxi řetězce, zvažte použití ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) k vytvoření parametrů.

Další informace a příklady najdete v tématu Spouštění nezpracovaných příkazů SQL s EF Core .

Platí pro