语言

RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync 方法

定义

重载

名称 说明
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

针对数据库执行给定的 SQL,并返回受影响的行数。

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

针对数据库执行给定的 SQL,并返回受影响的行数。

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

针对数据库执行给定的 SQL,并返回受影响的行数。

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs

针对数据库执行给定的 SQL,并返回受影响的行数。

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
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 可能不是幂等的,也不会在事务中运行。 可以显式使用 An ExecutionStrategy ,确保在 SQL 不是幂等的情况下也使用事务。

与接受 SQL 的任何 API 一样,必须参数化任何用户输入以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 你提供的任何参数值将自动转换为 DbParameter。

但是, 从不 将具有未验证的用户提供值的串联或内插字符串($"")传递到此方法中。 这样做可能会向 SQL 注入攻击公开应用程序。 若要使用内插字符串语法,请考虑使用 ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) 创建参数。

有关详细信息和示例,请参阅 使用 EF Core 执行原始 SQL 命令 。

适用于

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs

针对数据库执行给定的 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

等待任务完成时观察的 A CancellationToken 。

返回

表示异步操作的任务。 任务结果是受影响的行数。

例外

如果取消了该操作 CancellationToken 。

注解

请注意,此方法不会启动事务。 若要将此方法与事务一起使用,请首先调用 BeginTransaction(DatabaseFacade, IsolationLevel) 或 UseTransaction。

请注意,此方法不使用当前 ExecutionStrategy 值,因为 SQL 可能不是幂等的,也不会在事务中运行。 可以显式使用 An ExecutionStrategy ,确保在 SQL 不是幂等的情况下也使用事务。

切勿 将具有未验证的用户提供值的串联或内插字符串($"")传递到此方法中。 这样做可能会向 SQL 注入攻击公开应用程序。

有关详细信息和示例,请参阅 使用 EF Core 执行原始 SQL 命令 。

适用于

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs
Source:
RelationalDatabaseFacadeExtensions.cs

针对数据库执行给定的 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);
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

等待任务完成时观察的 A CancellationToken 。

返回

表示异步操作的任务。 任务结果是受影响的行数。

例外

如果取消了该操作 CancellationToken 。

注解

请注意,此方法不会启动事务。 若要将此方法与事务一起使用,请首先调用 BeginTransaction(DatabaseFacade, IsolationLevel) 或 UseTransaction。

请注意,此方法不使用当前 ExecutionStrategy 值,因为 SQL 可能不是幂等的,也不会在事务中运行。 可以显式使用 ExecutionStrategy,确保在 SQL 不是幂等的情况下也使用事务。

与接受 SQL 的任何 API 一样,必须参数化任何用户输入以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 你提供的任何参数值将自动转换为 DbParameter。

但是, 从不 将具有未验证的用户提供值的串联或内插字符串($"")传递到此方法中。 这样做可能会向 SQL 注入攻击公开应用程序。 若要使用内插字符串语法,请考虑使用 ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) 创建参数。

有关详细信息和示例,请参阅 使用 EF Core 执行原始 SQL 命令 。

适用于