命名空间:Microsoft.EntityFrameworkCore
引用dll:Microsoft.EntityFrameworkCore.Relational.dll
包:Microsoft.EntityFrameworkCore.Relational v3.1.0
对数据库执行给定的 SQL 并返回受影响的行数。
请注意,此方法不会启动事务。要将此方法用于事务,请先调用Begin 事务(数据库管理器、隔离级别)或Use 事务(数据库实例、DbTransaction)。
请注意,此方法未使用当前执行策略,因为 SQL 可能不是幂等的,并且不在事务中运行。执行策略可以显式使用,如果 SQL 不是幂等,请确保也使用事务。
与任何接受 SQL 的 API 一样,参数化任何用户输入以防止 SQL 注入攻击非常重要。您可以在 SQL 查询字符串中包括参数位持有人,然后将参数值作为附加参数提供。您提供的任何参数值将自动转换为DbParameter。
1.ExecuteSqlInterpolated
context.Database.ExecuteSqlInterpolated($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")
2.ExecuteSqlRaw
context.Database.ExecuteSqlRaw("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
3.ExecuteSqlCommand(已弃用)
context.Database.ExecuteSqlCommand($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")