Database.ExecuteSqlCommand 方法 (TransactionalBehavior, String, Object[])
[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]
对数据库执行给定的 DDL/DML 命令。 与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。 您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。 您提供的任何参数值都将自动转换为 DbParameter。 context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。 这允许您在 SQL 查询字符串中使用命名参数。 context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
命名空间: System.Data.Entity
程序集: EntityFramework(在 EntityFramework.dll 中)
语法
声明
Public Function ExecuteSqlCommand ( _
transactionalBehavior As TransactionalBehavior, _
sql As String, _
ParamArray parameters As Object() _
) As Integer
用法
Dim instance As Database
Dim transactionalBehavior As TransactionalBehavior
Dim sql As String
Dim parameters As Object()
Dim returnValue As Integer
returnValue = instance.ExecuteSqlCommand(transactionalBehavior, _
sql, parameters)
public int ExecuteSqlCommand(
TransactionalBehavior transactionalBehavior,
string sql,
params Object[] parameters
)
public:
int ExecuteSqlCommand(
TransactionalBehavior transactionalBehavior,
String^ sql,
... array<Object^>^ parameters
)
member ExecuteSqlCommand :
transactionalBehavior:TransactionalBehavior *
sql:string *
parameters:Object[] -> int
public function ExecuteSqlCommand(
transactionalBehavior : TransactionalBehavior,
sql : String,
... parameters : Object[]
) : int
参数
- transactionalBehavior
类型:System.Data.Entity.TransactionalBehavior
对于此命令控制事务的创建。
- sql
类型:System.String
命令字符串。
- parameters
类型:System.Object[]
要应用于命令字符串的参数。
返回值
类型:System.Int32
执行命令后由数据库返回的结果。