RelationalDatabaseFacadeExtensions.ExecuteSqlRaw Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
Verilen SQL'i veritabanında yürütür ve etkilenen satır sayısını döndürür. |
ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
Verilen SQL'i veritabanında yürütür ve etkilenen satır sayısını döndürür. |
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)
Verilen SQL'i veritabanında yürütür ve etkilenen satır sayısını döndürür.
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
Parametreler
- databaseFacade
- DatabaseFacade
DatabaseFacade bağlam için.
- sql
- String
Yürütülecek SQL.
- parameters
- IEnumerable<Object>
SQL ile kullanılacak parametreler.
Döndürülenler
Etkilenen satır sayısı.
Açıklamalar
Bu yöntemin bir işlem başlatmadığını unutmayın. Bu yöntemi bir işlemle kullanmak için önce veya UseTransactionçağrısında bulunurBeginTransaction(DatabaseFacade, IsolationLevel).
SQL bir kez etkili olmayabileceği ve bir işlemde çalışmayabileceği için geçerlinin ExecutionStrategy bu yöntem tarafından kullanılmadığını unutmayın. açıkça ExecutionStrategy kullanılabilir ve SQL bir kez etkili değilse bir işlem de kullandığınızdan emin olun.
SQL kabul eden herhangi bir API'de olduğu gibi, SQL ekleme saldırısına karşı koruma sağlamak için herhangi bir kullanıcı girişini parametreleştirmek önemlidir. SQL sorgu dizesine parametre yer tutucuları ekleyebilir ve ardından parametre değerlerini ek bağımsız değişkenler olarak sağlayabilirsiniz. Sağladığınız tüm parametre değerleri otomatik olarak DbParameter'a dönüştürülür.
Ancak, hiçbir zaman doğrulanmamış kullanıcı tarafından sağlanan değerlere sahip birleştirilmiş veya ilişkilendirilmiş dizeyi ($""
) bu yönteme geçirmeyin. Bunun yapılması uygulamanızı SQL ekleme saldırılarına maruz bırakabilir. İlişkili dize söz dizimini kullanmak için parametresini kullanmayı ExecuteSql(DatabaseFacade, FormattableString) göz önünde bulundurun.
Daha fazla bilgi ve örnek için bkz. EF Core ile ham SQL komutlarını yürütme .
Şunlara uygulanır
ExecuteSqlRaw(DatabaseFacade, String, Object[])
Verilen SQL'i veritabanında yürütür ve etkilenen satır sayısını döndürür.
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
Parametreler
- databaseFacade
- DatabaseFacade
DatabaseFacade bağlam için.
- sql
- String
Yürütülecek SQL.
- parameters
- Object[]
SQL ile kullanılacak parametreler.
Döndürülenler
Etkilenen satır sayısı.
Açıklamalar
Bu yöntemin bir işlem başlatmadığını unutmayın. Bu yöntemi bir işlemle kullanmak için önce veya UseTransactionçağrısında bulunurBeginTransaction(DatabaseFacade, IsolationLevel).
SQL bir kez etkili olmayabileceği ve bir işlemde çalışmayabileceği için geçerlinin ExecutionStrategy bu yöntem tarafından kullanılmadığını unutmayın. açıkça ExecutionStrategy kullanılabilir ve SQL bir kez etkili değilse bir işlem de kullandığınızdan emin olun.
SQL kabul eden herhangi bir API'de olduğu gibi, SQL ekleme saldırısına karşı koruma sağlamak için herhangi bir kullanıcı girişini parametreleştirmek önemlidir. SQL sorgu dizesine parametre yer tutucuları ekleyebilir ve ardından parametre değerlerini ek bağımsız değişkenler olarak sağlayabilirsiniz. Sağladığınız tüm parametre değerleri otomatik olarak DbParameter'a dönüştürülür.
Ancak, hiçbir zaman doğrulanmamış kullanıcı tarafından sağlanan değerlere sahip birleştirilmiş veya ilişkilendirilmiş dizeyi ($""
) bu yönteme geçirmeyin. Bunun yapılması uygulamanızı SQL ekleme saldırılarına maruz bırakabilir. İlişkili dize söz dizimini kullanmak için parametresini kullanmayı ExecuteSql(DatabaseFacade, FormattableString) göz önünde bulundurun.
Daha fazla bilgi ve örnek için bkz. EF Core ile ham SQL komutlarını yürütme .
Şunlara uygulanır
Entity Framework