RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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 命令 。