語言

RelationalDatabaseFacadeExtensions.ExecuteSqlRaw 方法

定義

多載

名稱 Description
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

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

ExecuteSqlRaw(DatabaseFacade, String, Object[])

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

ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs

針對資料庫執行指定的 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[])

來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs
來源:
RelationalDatabaseFacadeExtensions.cs

針對資料庫執行指定的 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 命令 。

適用於