RelationalDatabaseFacadeExtensions.ExecuteSql Metoda

Definice

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

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

Parametry

databaseFacade
DatabaseFacade

Kontext DatabaseFacade .

sql
FormattableString

Interpolovaný řetězec představující dotaz SQL s parametry.

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í, nejprve zavolejte BeginTransaction(DatabaseFacade, IsolationLevel) nebo UseTransaction.

Všimněte si, že aktuální ExecutionStrategy není používána touto metodou, protože SQL nemusí být idempotentní a nespustí v transakci. Lze ExecutionStrategy použít explicitně, přičemž nezapomeňte 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 uživatelský vstup, aby se chránil před útokem injektáže SQL. Do řetězce dotazu SQL můžete zahrnout držitele umístění parametrů a pak zadat hodnoty parametrů jako další argumenty. Všechny hodnoty parametrů, které zadáte, se automaticky převedou na DbParameter.

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

Platí pro