RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
对数据库执行给定的 SQL,并返回受影响的行数。 |
ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
对数据库执行给定的 SQL,并返回受影响的行数。 |
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
对数据库执行给定的 SQL,并返回受影响的行数。 |
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)
对数据库执行给定的 SQL,并返回受影响的行数。
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)
参数
- databaseFacade
- DatabaseFacade
DatabaseFacade上下文的 。
- sql
- String
要执行的 SQL。
- parameters
- IEnumerable<Object>
要与 SQL 一起使用的参数。
- cancellationToken
- CancellationToken
等待 CancellationToken 任务完成时要观察的 。
返回
表示异步操作的任务。 任务结果是受影响的行数。
例外
注解
请注意,此方法不会启动事务。 若要将此方法用于事务,请先调用 BeginTransaction(DatabaseFacade, IsolationLevel) 或 UseTransaction。
请注意,此方法不使用当前 ExecutionStrategy ,因为 SQL 可能不是幂等的,也不会在事务中运行。 可以显式使用 ExecutionStrategy,如果 SQL 不是幂等的,请确保也使用事务。
与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。
但是, 切勿 将串联或内插字符串 ($""
) 与未经验证的用户提供的值传递到此方法中。 这样做可能会使应用程序受到 SQL 注入攻击。 若要使用内插字符串语法,请考虑使用 ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) 创建参数。
有关详细信息和示例 ,请参阅使用 EF Core 执行原始 SQL 命令 。
适用于
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])
对数据库执行给定的 SQL,并返回受影响的行数。
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)
参数
- databaseFacade
- DatabaseFacade
DatabaseFacade上下文的 。
- sql
- String
要执行的 SQL。
- parameters
- Object[]
要与 SQL 一起使用的参数。
返回
表示异步操作的任务。 任务结果是受影响的行数。
注解
请注意,此方法不会启动事务。 若要将此方法用于事务,请先调用 BeginTransaction(DatabaseFacade, IsolationLevel) 或 UseTransaction。
请注意,此方法不使用当前 ExecutionStrategy ,因为 SQL 可能不是幂等的,也不会在事务中运行。 ExecutionStrategy可以显式使用 ,如果 SQL 不是幂等的,请确保也使用事务。
与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。
但是, 切勿 将串联或内插字符串 ($""
) 与未经验证的用户提供的值传递到此方法中。 这样做可能会使应用程序受到 SQL 注入攻击。 若要使用内插字符串语法,请考虑使用 ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) 创建参数。
有关详细信息和示例 ,请参阅使用 EF Core 执行原始 SQL 命令 。
适用于
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)
对数据库执行给定的 SQL,并返回受影响的行数。
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)
参数
- databaseFacade
- DatabaseFacade
DatabaseFacade上下文的 。
- sql
- String
要执行的 SQL。
- cancellationToken
- CancellationToken
等待 CancellationToken 任务完成时要观察的 。
返回
表示异步操作的任务。 任务结果是受影响的行数。
例外
注解
请注意,此方法不会启动事务。 若要将此方法用于事务,请先调用 BeginTransaction(DatabaseFacade, IsolationLevel) 或 UseTransaction。
请注意,此方法不使用当前 ExecutionStrategy ,因为 SQL 可能不是幂等的,也不会在事务中运行。 ExecutionStrategy可以显式使用 ,如果 SQL 不是幂等的,请确保也使用事务。
切勿 将带有未经验证的用户提供值的串联或内插字符串 ($""
) 传递到此方法中。 这样做可能会使应用程序受到 SQL 注入攻击。
有关详细信息和示例 ,请参阅使用 EF Core 执行原始 SQL 命令 。