Jazyk

RelationalDatabaseFacadeExtensions.ExecuteSqlRaw Metoda

Definice

Přetížení

Název Description
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

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

ExecuteSqlRaw(DatabaseFacade, String, Object[])

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

ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<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 int ExecuteSqlRaw(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object?> parameters);
public static int ExecuteSqlRaw(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object)) As 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.

Návraty

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í ExecuteSql(DatabaseFacade, FormattableString) 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

ExecuteSqlRaw(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 int ExecuteSqlRaw(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object?[] parameters);
public static int ExecuteSqlRaw(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As 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

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í ExecuteSql(DatabaseFacade, FormattableString) 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