RelationalDatabaseFacadeExtensions.ExecuteSqlRaw 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
針對資料庫執行指定的 SQL,並傳回受影響的資料列數目。 |
ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
針對資料庫執行指定的 SQL,並傳回受影響的資料列數目。 |
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)
針對資料庫執行指定的 SQL,並傳回受影響的資料列數目。
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters);
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object?> parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object)) As Integer
參數
- databaseFacade
- DatabaseFacade
DatabaseFacade內容的 。
- sql
- String
要執行的 SQL。
- parameters
- IEnumerable<Object>
要搭配 SQL 使用的參數。
傳回
受影響的資料列數目。
備註
請注意,這個方法不會啟動交易。 若要搭配交易使用這個方法,請先呼叫 BeginTransaction(DatabaseFacade, IsolationLevel) 或 UseTransaction 。
請注意,此方法不會使用目前的 ExecutionStrategy ,因為 SQL 可能不是等冪,而且不會在交易中執行。 ExecutionStrategy可以明確使用 ,如果 SQL 不是等冪性,請務必也使用交易。
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。
不過, 絕對不要 將串連或插補字串 () $""
未驗證的使用者提供值傳遞至這個方法。 這樣做可能會向 SQL 插入式攻擊公開您的應用程式。 若要使用插補字串語法,請考慮使用 ExecuteSql(DatabaseFacade, FormattableString) 來建立參數。
如需詳細資訊和範例 ,請參閱使用 EF Core 執行原始 SQL 命令 。
適用於
ExecuteSqlRaw(DatabaseFacade, String, Object[])
針對資料庫執行指定的 SQL,並傳回受影響的資料列數目。
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object?[] parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Integer
參數
- databaseFacade
- DatabaseFacade
DatabaseFacade內容的 。
- sql
- String
要執行的 SQL。
- parameters
- Object[]
要搭配 SQL 使用的參數。
傳回
受影響的資料列數目。
備註
請注意,這個方法不會啟動交易。 若要搭配交易使用這個方法,請先呼叫 BeginTransaction(DatabaseFacade, IsolationLevel) 或 UseTransaction 。
請注意,此方法不會使用目前的 ExecutionStrategy ,因為 SQL 可能不是等冪,而且不會在交易中執行。 ExecutionStrategy可以明確使用 ,如果 SQL 不是等冪性,請務必也使用交易。
如同接受 SQL 的任何 API,請務必將任何使用者輸入參數化,以防止 SQL 插入式攻擊。 您可以在 SQL 查詢字串中包含參數預留位置,然後提供參數值作為其他引數。 您提供的任何參數值都會自動轉換成 DbParameter。
不過, 絕對不要 將串連或插補字串 () $""
未驗證的使用者提供值傳遞至這個方法。 這樣做可能會向 SQL 插入式攻擊公開您的應用程式。 若要使用插補字串語法,請考慮使用 ExecuteSql(DatabaseFacade, FormattableString) 來建立參數。
如需詳細資訊和範例 ,請參閱使用 EF Core 執行原始 SQL 命令 。