RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync 方法

定義

多載

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

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

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

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

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

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

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

參數

databaseFacade
DatabaseFacade

DatabaseFacade內容的 。

sql
String

要執行的 SQL。

parameters
IEnumerable<Object>

要搭配 SQL 使用的參數。

cancellationToken
CancellationToken

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

傳回

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

例外狀況

備註

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

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

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

不過, 絕對不要 將串連或插補字串 () $"" 未驗證的使用者提供值傳遞至這個方法。 這樣做可能會向 SQL 插入式攻擊公開您的應用程式。 若要使用插補字串語法,請考慮使用 ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) 來建立參數。

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

適用於

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

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

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Task(Of Integer)

參數

databaseFacade
DatabaseFacade

DatabaseFacade內容的 。

sql
String

要執行的 SQL。

parameters
Object[]

要搭配 SQL 使用的參數。

傳回

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

備註

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

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

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

不過, 絕對不要 將串連或插補字串 () $"" 未驗證的使用者提供值傳遞至這個方法。 這樣做可能會向 SQL 插入式攻擊公開您的應用程式。 若要使用插補字串語法,請考慮使用 ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) 來建立參數。

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

適用於

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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

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

參數

databaseFacade
DatabaseFacade

DatabaseFacade內容的 。

sql
String

要執行的 SQL。

cancellationToken
CancellationToken

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

傳回

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

例外狀況

備註

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

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

絕對不要 將串連或插補字串 () $"" ,並將未驗證的使用者提供值傳遞至這個方法。 這樣做可能會向 SQL 插入式攻擊公開您的應用程式。

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

適用於