Поделиться через


RelationalDatabaseFacadeExtensions.ExecuteSqlCommand Метод

Определение

Перегрузки

ExecuteSqlCommand(DatabaseFacade, FormattableString)
Устаревшие..

Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.

Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction).

Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указываете, будут автоматически преобразованы в DbParameter — context.Database.ExecuteSqlCommand($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>)
Устаревшие..

Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.

Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction).

Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указали, будут автоматически преобразованы в DbParameter. Вы также можете использовать ExecuteSqlInterpolated для использования синтаксиса интерполированной строки для создания параметров.

ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[])
Устаревшие..

Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.

Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction).

Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указываете, будут автоматически преобразованы в DbParameter — context.Database.ExecuteSqlCommand("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm). Вы также можете использовать ExecuteSqlInterpolated для использования синтаксиса интерполированной строки для создания параметров.

ExecuteSqlCommand(DatabaseFacade, String, Object[])

ExecuteSqlCommand(DatabaseFacade, FormattableString)

Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs

Внимание!

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.

Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.

Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction).

Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указываете, будут автоматически преобразованы в 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

Параметры

databaseFacade
DatabaseFacade

Объект DatabaseFacade для контекста.

sql
FormattableString

Интерполированная строка, представляющая SQL-запрос с параметрами.

Возвращаемое значение

Число обработанных строк.

Атрибуты

Применяется к

ExecuteSqlCommand(DatabaseFacade, RawSqlString, IEnumerable<Object>)

Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs

Внимание!

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.

Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.

Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction).

Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указали, будут автоматически преобразованы в DbParameter. Вы также можете использовать ExecuteSqlInterpolated для использования синтаксиса интерполированной строки для создания параметров.

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

Параметры

databaseFacade
DatabaseFacade

Объект DatabaseFacade для контекста.

sql
RawSqlString

Sql для выполнения.

parameters
IEnumerable<Object>

Параметры для использования с SQL.

Возвращаемое значение

Число обработанных строк.

Атрибуты

Применяется к

ExecuteSqlCommand(DatabaseFacade, RawSqlString, Object[])

Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs
Исходный код:
RelationalDatabaseFacadeExtensions.cs

Внимание!

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.

Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.

Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction(DatabaseFacade, DbTransaction).

Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL может не быть идемпотентным и не выполняется в транзакции. ExecutionStrategy можно использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указываете, будут автоматически преобразованы в DbParameter — context.Database.ExecuteSqlCommand("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm). Вы также можете использовать ExecuteSqlInterpolated для использования синтаксиса интерполированной строки для создания параметров.

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

Параметры

databaseFacade
DatabaseFacade

Объект DatabaseFacade для контекста.

sql
RawSqlString

Sql для выполнения.

parameters
Object[]

Параметры для использования с SQL.

Возвращаемое значение

Число обработанных строк.

Атрибуты

Применяется к

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

Параметры

databaseFacade
DatabaseFacade
sql
String
parameters
Object[]

Возвращаемое значение

Применяется к