RelationalDatabaseFacadeExtensions.ExecuteSqlAsync 方法

定義

針對資料庫執行指定的 SQL,並傳回受影響的資料列數目。

public static System.Threading.Tasks.Task<int> ExecuteSqlAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlAsync (databaseFacade As DatabaseFacade, sql As FormattableString, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

參數

databaseFacade
DatabaseFacade

DatabaseFacade內容的 。

sql
FormattableString

內插字串,表示具有參數的 SQL 查詢。

cancellationToken
CancellationToken

等候 CancellationToken 工作完成時要觀察的 。

傳回

代表非同步作業的工作。 工作結果是受影響的資料列數目。

例外狀況

備註

請注意,這個方法不會啟動交易。 若要搭配交易使用這個方法,請先呼叫 BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction

請注意,此方法不會使用目前的 ExecutionStrategy ,因為 SQL 可能不是等冪,而且不會在交易中執行。 ExecutionStrategy可以明確使用 ,如果 SQL 不是等冪性,請務必也使用交易。

如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。

如需詳細資訊和範例 ,請參閱使用 EF Core 執行原始 SQL 命令

適用於