Share via

Database.ExecuteSqlCommand Method (String, Object[])

[This page is specific to the Entity Framework version 6. The latest version is available as the 'Entity Framework' NuGet package. For more information about Entity Framework, see]

Executes the given DDL/DML command against the database. As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Namespace:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)


Public Function ExecuteSqlCommand ( _
    sql As String, _
    ParamArray parameters As Object() _
) As Integer
Dim instance As Database 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As Integer 

returnValue = instance.ExecuteSqlCommand(sql, _
public int ExecuteSqlCommand(
    string sql,
    params Object[] parameters
int ExecuteSqlCommand(
    String^ sql, 
    ... array<Object^>^ parameters
member ExecuteSqlCommand : 
        sql:string * 
        parameters:Object[] -> int
public function ExecuteSqlCommand(
    sql : String, 
    ... parameters : Object[]
) : int


  • parameters
    Type: System.Object[]
    The parameters to apply to the command string.

Return Value

Type: System.Int32
The result returned by the database after executing the command.


If there isn't an existing local or ambient transaction a new transaction will be used to execute the command.

See Also


Database Class

ExecuteSqlCommand Overload

System.Data.Entity Namespace