Share via


Database.ExecuteSqlCommandAsync 方法 (TransactionalBehavior, String, Object[])

[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]

針對資料庫以非同步方式執行給定的 DDL/DML 命令。 如同所有接受 SQL 的應用程式開發介面,任何使用者輸入都務必進行參數化以防範 SQL 插入式攻擊。 您可在 SQL 查詢字串中加入參數預留位置,然後再以其他引數提供參數值。 您所提供的任何參數值都將自動轉換為 DbParameter。 context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor)。或者,您也可以建構 DbParameter 再將其提供給 SqlQuery。 如此您便能在 SQL 查詢字串中使用具名參數。 context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

命名空間:  System.Data.Entity
組件:  EntityFramework (在 EntityFramework.dll 中)

語法

'宣告
Public Function ExecuteSqlCommandAsync ( _
    transactionalBehavior As TransactionalBehavior, _
    sql As String, _
    ParamArray parameters As Object() _
) As Task(Of Integer)
'用途
Dim instance As Database 
Dim transactionalBehavior As TransactionalBehavior 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As Task(Of Integer)

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

參數

  • parameters
    類型:System.Object[]
    要套用至命令字串的參數。

傳回值

類型:System.Threading.Tasks.Task<Int32>
表示非同步作業的工作。工作結果包含執行此命令之後由資料庫傳回的結果。

備註

不支援相同內容執行個體上的多個作用中作業。 使用 'await' 確保在此內容上呼叫另一個方法之前,所有非同步作業都已完成。

請參閱

參考

Database 類別

ExecuteSqlCommandAsync 多載

System.Data.Entity 命名空間