RelationalDatabaseFacadeExtensions.ExecuteSqlRaw Yöntem

Tanım

Aşırı Yüklemeler

ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

Verilen verileri SQL veritabanında yürütür ve etkilenen satır sayısını döndürür.

Bu yöntemin bir işlem başlatmaz. Bu yöntemi bir işlemle kullanmak için önce veya BeginTransaction(DatabaseFacade, IsolationLevel) çağrısında bulundurarak. UseTransaction

Geçerli yöntemin bu yöntem tarafından kullanılmay olduğunu SQL ve bir işlemde çalışmay ExecutionStrategy olabilir. bir açıkça kullanılabilir ve aynı zamanda bir işlem aynı SQL ExecutionStrategy emin olun.

Api'lerde olduğu gibi SQL ekleme saldırısına karşı korumak için tüm kullanıcı girişlerini parametre SQL önemlidir. Parametre yer tutucularını sorgu dizesinde SQL ve ardından parametre değerlerini ek bağımsız değişkenler olarak belirtebilirsiniz. Temin edersiniz tüm parametre değerleri otomatik olarak DbParameter'a dönüştürülür:

var userSuppliedSearchTerm = ".NET";
context.Database.ExecuteSqlRaw("UPDATE Blogs SET Rank = 50 WHERE Name = {0}", userSuppliedSearchTerm);

Ancak, hiçbir zaman doğrulanmış kullanıcı tarafından sağlanan değerlere sahip bir bir concatenated veya i İ ilişkilendirme dizesi ($"") bu yönteme geçmeyin. Bunu yapmak, ekleme saldırılarına karşı SQL ortaya çıkarır. İlişkili dize söz dizimlerini kullanmak için kullanarak ExecuteSqlInterpolated(DatabaseFacade, FormattableString) parametre oluşturabilirsiniz.

ExecuteSqlRaw(DatabaseFacade, String, Object[])

Verilen verileri SQL veritabanında yürütür ve etkilenen satır sayısını döndürür.

Bu yöntemin bir işlem başlatmaz. Bu yöntemi bir işlemle kullanmak için önce veya BeginTransaction(DatabaseFacade, IsolationLevel) çağrısında bulundurarak. UseTransaction

Geçerli yöntemin bu yöntem tarafından kullanılmay olduğunu SQL ve bir işlemde çalışmay ExecutionStrategy olabilir. bir açıkça kullanılabilir ve aynı zamanda bir işlem aynı SQL ExecutionStrategy emin olun.

Api'lerde olduğu gibi SQL ekleme saldırısına karşı korumak için tüm kullanıcı girişlerini parametre SQL önemlidir. Parametre yer tutucularını sorgu dizesinde SQL ve ardından parametre değerlerini ek bağımsız değişkenler olarak belirtebilirsiniz. Temin edersiniz tüm parametre değerleri otomatik olarak DbParameter'a dönüştürülür:

var userSuppliedSearchTerm = ".NET";
context.Database.ExecuteSqlRaw("UPDATE Blogs SET Rank = 50 WHERE Name = {0}", userSuppliedSearchTerm);

Ancak, hiçbir zaman doğrulanmış kullanıcı tarafından sağlanan değerlere sahip bir bir concatenated veya i İ ilişkilendirme dizesi ($"") bu yönteme geçmeyin. Bunu yapmak, ekleme saldırılarına karşı SQL ortaya çıkarır. İlişkili dize söz dizimlerini kullanmak için kullanarak ExecuteSqlInterpolated(DatabaseFacade, FormattableString) parametre oluşturabilirsiniz.

ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

Verilen verileri SQL veritabanında yürütür ve etkilenen satır sayısını döndürür.

Bu yöntemin bir işlem başlatmaz. Bu yöntemi bir işlemle kullanmak için önce veya BeginTransaction(DatabaseFacade, IsolationLevel) çağrısında bulundurarak. UseTransaction

Geçerli yöntemin bu yöntem tarafından kullanılmay olduğunu SQL ve bir işlemde çalışmay ExecutionStrategy olabilir. bir açıkça kullanılabilir ve aynı zamanda bir işlem aynı SQL ExecutionStrategy emin olun.

Api'lerde olduğu gibi SQL ekleme saldırısına karşı korumak için tüm kullanıcı girişlerini parametre SQL önemlidir. Parametre yer tutucularını sorgu dizesinde SQL ve ardından parametre değerlerini ek bağımsız değişkenler olarak belirtebilirsiniz. Temin edersiniz tüm parametre değerleri otomatik olarak DbParameter'a dönüştürülür:

var userSuppliedSearchTerm = ".NET";
context.Database.ExecuteSqlRaw("UPDATE Blogs SET Rank = 50 WHERE Name = {0}", userSuppliedSearchTerm);

Ancak, hiçbir zaman doğrulanmış kullanıcı tarafından sağlanan değerlere sahip bir bir concatenated veya i İ ilişkilendirme dizesi ($"") bu yönteme geçmeyin. Bunu yapmak, ekleme saldırılarına karşı SQL ortaya çıkarır. İlişkili dize söz dizimlerini kullanmak için kullanarak ExecuteSqlInterpolated(DatabaseFacade, FormattableString) parametre oluşturabilirsiniz.

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

Bağlam DatabaseFacade için .

sql
String

Yürütülecek SQL komut.

parameters
IEnumerable<Object>

SQL ile birlikte SQL.

Döndürülenler

Int32

Etkilenen satır sayısı.

Açıklamalar

Daha fazla bilgi için SQL ile ham EF Core komutlarını yürütme.

Şunlara uygulanır

ExecuteSqlRaw(DatabaseFacade, String, Object[])

Verilen verileri SQL veritabanında yürütür ve etkilenen satır sayısını döndürür.

Bu yöntemin bir işlem başlatmaz. Bu yöntemi bir işlemle kullanmak için önce veya BeginTransaction(DatabaseFacade, IsolationLevel) çağrısında bulundurarak. UseTransaction

Geçerli yöntemin bu yöntem tarafından kullanılmay olduğunu SQL ve bir işlemde çalışmay ExecutionStrategy olabilir. bir açıkça kullanılabilir ve aynı zamanda bir işlem aynı SQL ExecutionStrategy emin olun.

Api'lerde olduğu gibi SQL ekleme saldırısına karşı korumak için tüm kullanıcı girişlerini parametre SQL önemlidir. Parametre yer tutucularını sorgu dizesinde SQL ve ardından parametre değerlerini ek bağımsız değişkenler olarak belirtebilirsiniz. Temin edersiniz tüm parametre değerleri otomatik olarak DbParameter'a dönüştürülür:

var userSuppliedSearchTerm = ".NET";
context.Database.ExecuteSqlRaw("UPDATE Blogs SET Rank = 50 WHERE Name = {0}", userSuppliedSearchTerm);

Ancak, hiçbir zaman doğrulanmış kullanıcı tarafından sağlanan değerlere sahip bir bir concatenated veya i İ ilişkilendirme dizesi ($"") bu yönteme geçmeyin. Bunu yapmak, ekleme saldırılarına karşı SQL ortaya çıkarır. İlişkili dize söz dizimlerini kullanmak için kullanarak ExecuteSqlInterpolated(DatabaseFacade, FormattableString) parametre oluşturabilirsiniz.

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

Bağlam DatabaseFacade için .

sql
String

Yürütülecek SQL komut.

parameters
Object[]

SQL ile birlikte SQL.

Döndürülenler

Int32

Etkilenen satır sayısı.

Açıklamalar

Daha fazla bilgi için SQL ile ham EF Core komutlarını yürütme.

Şunlara uygulanır