共用方式為


RelationalDatabaseFacadeExtensions.ExecuteSqlRaw 方法

定義

多載

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 命令

適用於