RelationalDatabaseFacadeExtensions.ExecuteSqlCommand Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
ExecuteSqlCommand(DatabaseFacade, FormattableString) |
Przestarzałe.
Wykonuje daną bazę danych SQL i zwraca liczbę wierszy, których dotyczy problem. Należy pamiętać, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj lub BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction(DatabaseFacade, DbTransaction). Należy pamiętać, że bieżący element ExecutionStrategy nie jest używany przez tę metodę, ponieważ język SQL może nie być idempotentny i nie jest uruchamiany w transakcji. Można jawnie użyć metody ExecutionStrategy, upewniając się, że używasz również transakcji, jeśli język SQL nie jest idempotentny.
Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszystkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić posiadacze miejsc parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie wartości parametrów, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter — |
ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>) |
Przestarzałe.
Wykonuje daną bazę danych SQL i zwraca liczbę wierszy, których dotyczy problem. Należy pamiętać, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj lub BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction(DatabaseFacade, DbTransaction). Należy pamiętać, że bieżący element ExecutionStrategy nie jest używany przez tę metodę, ponieważ język SQL może nie być idempotentny i nie jest uruchamiany w transakcji. Można jawnie użyć metody ExecutionStrategy, upewniając się, że używasz również transakcji, jeśli język SQL nie jest idempotentny. Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszystkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić posiadacze miejsc parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie wartości parametrów, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter. Możesz również rozważyć użycie polecenia ExecuteSqlInterpolated do użycia składni ciągu interpolowanego w celu utworzenia parametrów. |
ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[]) |
Przestarzałe.
Wykonuje daną bazę danych SQL i zwraca liczbę wierszy, których dotyczy problem. Należy pamiętać, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj lub BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction(DatabaseFacade, DbTransaction). Należy pamiętać, że bieżący element ExecutionStrategy nie jest używany przez tę metodę, ponieważ język SQL może nie być idempotentny i nie jest uruchamiany w transakcji. Można jawnie użyć metody ExecutionStrategy, upewniając się, że używasz również transakcji, jeśli język SQL nie jest idempotentny.
Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszystkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić posiadacze miejsc parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie wartości parametrów, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter — |
ExecuteSqlCommand(DatabaseFacade, String, Object[]) |
ExecuteSqlCommand(DatabaseFacade, FormattableString)
Przestroga
For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.
Wykonuje daną bazę danych SQL i zwraca liczbę wierszy, których dotyczy problem.
Należy pamiętać, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj lub BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction(DatabaseFacade, DbTransaction).
Należy pamiętać, że bieżący element ExecutionStrategy nie jest używany przez tę metodę, ponieważ język SQL może nie być idempotentny i nie jest uruchamiany w transakcji. Można jawnie użyć metody ExecutionStrategy, upewniając się, że używasz również transakcji, jeśli język SQL nie jest idempotentny.
Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszystkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić posiadacze miejsc parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie wartości parametrów, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter — context.Database.ExecuteSqlCommand($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")
.
public static int ExecuteSqlCommand (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
[System.Obsolete("For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.")]
public static int ExecuteSqlCommand (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member ExecuteSqlCommand : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> int
[<System.Obsolete("For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.")>]
static member ExecuteSqlCommand : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> int
<Extension()>
Public Function ExecuteSqlCommand (databaseFacade As DatabaseFacade, sql As FormattableString) As Integer
Parametry
- databaseFacade
- DatabaseFacade
Element DatabaseFacade dla kontekstu.
Ciąg interpolowany reprezentujący zapytanie SQL z parametrami.
Zwraca
Liczba wierszy, których dotyczy problem.
- Atrybuty
Dotyczy
ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>)
Przestroga
For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.
Wykonuje daną bazę danych SQL i zwraca liczbę wierszy, których dotyczy problem.
Należy pamiętać, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj lub BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction(DatabaseFacade, DbTransaction).
Należy pamiętać, że bieżący element ExecutionStrategy nie jest używany przez tę metodę, ponieważ język SQL może nie być idempotentny i nie jest uruchamiany w transakcji. Można jawnie użyć metody ExecutionStrategy, upewniając się, że używasz również transakcji, jeśli język SQL nie jest idempotentny.
Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszystkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić posiadacze miejsc parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie wartości parametrów, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter. Możesz również rozważyć użycie polecenia ExecuteSqlInterpolated do użycia składni ciągu interpolowanego w celu utworzenia parametrów.
public static int ExecuteSqlCommand (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, Microsoft.EntityFrameworkCore.RawSqlString sql, System.Collections.Generic.IEnumerable<object> parameters);
[System.Obsolete("For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.")]
public static int ExecuteSqlCommand (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, Microsoft.EntityFrameworkCore.RawSqlString sql, System.Collections.Generic.IEnumerable<object> parameters);
static member ExecuteSqlCommand : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * Microsoft.EntityFrameworkCore.RawSqlString * seq<obj> -> int
[<System.Obsolete("For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.")>]
static member ExecuteSqlCommand : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * Microsoft.EntityFrameworkCore.RawSqlString * seq<obj> -> int
<Extension()>
Public Function ExecuteSqlCommand (databaseFacade As DatabaseFacade, sql As RawSqlString, parameters As IEnumerable(Of Object)) As Integer
Parametry
- databaseFacade
- DatabaseFacade
Element DatabaseFacade dla kontekstu.
- sql
- RawSqlString
Program SQL do wykonania.
- parameters
- IEnumerable<Object>
Parametry do użycia z programem SQL.
Zwraca
Liczba wierszy, których dotyczy problem.
- Atrybuty
Dotyczy
ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[])
Przestroga
For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.
Wykonuje daną bazę danych SQL i zwraca liczbę wierszy, których dotyczy problem.
Należy pamiętać, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj lub BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction(DatabaseFacade, DbTransaction).
Należy pamiętać, że bieżący element ExecutionStrategy nie jest używany przez tę metodę, ponieważ język SQL może nie być idempotentny i nie jest uruchamiany w transakcji. Można jawnie użyć metody ExecutionStrategy, upewniając się, że używasz również transakcji, jeśli język SQL nie jest idempotentny.
Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszystkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić posiadacze miejsc parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie wartości parametrów, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter — context.Database.ExecuteSqlCommand("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
.
Możesz również rozważyć użycie polecenia ExecuteSqlInterpolated do użycia składni ciągu interpolowanego w celu utworzenia parametrów.
public static int ExecuteSqlCommand (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters);
[System.Obsolete("For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.")]
public static int ExecuteSqlCommand (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters);
static member ExecuteSqlCommand : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> int
[<System.Obsolete("For the execution of SQL queries using plain strings, use ExecuteSqlRaw instead. For the execution of SQL queries using interpolated string syntax to create parameters, use ExecuteSqlInterpolated instead.")>]
static member ExecuteSqlCommand : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> int
<Extension()>
Public Function ExecuteSqlCommand (databaseFacade As DatabaseFacade, sql As RawSqlString, ParamArray parameters As Object()) As Integer
Parametry
- databaseFacade
- DatabaseFacade
Element DatabaseFacade dla kontekstu.
- sql
- RawSqlString
Program SQL do wykonania.
- parameters
- Object[]
Parametry do użycia z programem SQL.
Zwraca
Liczba wierszy, których dotyczy problem.
- Atrybuty
Dotyczy
ExecuteSqlCommand(DatabaseFacade, String, Object[])
public static int ExecuteSqlCommand (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlCommand : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> int
<Extension()>
Public Function ExecuteSqlCommand (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Integer
Parametry
- databaseFacade
- DatabaseFacade
- sql
- String
- parameters
- Object[]