语言

RelationalDatabaseFacadeExtensions.ExecuteSql 方法

定义

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

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

参数

databaseFacade
DatabaseFacade

上下文 DatabaseFacade 。

sql
FormattableString

表示具有参数的 SQL 查询的内插字符串。

返回

受影响的行数。

注解

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

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

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

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

适用于