RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Yöntem

Tanım

Aşırı Yüklemeler

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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.

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

Hiçbir zaman doğrulanmış kullanıcı tarafından sağlanan değerleri içeren 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.

ExecuteSqlRawAsync(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.ExecuteSqlRawAsync("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.

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

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. ExecutionStrategy açıkça kullanılabilir ve aynı zamanda bir işlem aynı SQL 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.ExecuteSqlRawAsync("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.

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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.

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

Hiçbir zaman doğrulanmış kullanıcı tarafından sağlanan değerleri içeren 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.

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

Parametreler

databaseFacade
DatabaseFacade

Bağlam DatabaseFacade için .

sql
String

Yürütülecek SQL komut.

cancellationToken
CancellationToken

Görevin CancellationToken tamamlandıktan sonra gözlemlemek için bir.

Döndürülenler

Task<Int32>

Zaman uyumsuz işlemi temsil eden bir görev. Görev sonucu etkilenen satır sayısıdır.

Özel durumlar

Açıklamalar

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

Şunlara uygulanır

ExecuteSqlRawAsync(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.ExecuteSqlRawAsync("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 System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Task(Of 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

Task<Int32>

Zaman uyumsuz işlemi temsil eden bir görev. Görev sonucu etkilenen satır sayısıdır.

Açıklamalar

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

Şunlara uygulanır

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

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. ExecutionStrategy açıkça kullanılabilir ve aynı zamanda bir işlem aynı SQL 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.ExecuteSqlRawAsync("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 System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

Parametreler

databaseFacade
DatabaseFacade

Bağlam DatabaseFacade için .

sql
String

Yürütülecek SQL komut.

parameters
IEnumerable<Object>

SQL ile birlikte SQL.

cancellationToken
CancellationToken

Görevin CancellationToken tamamlandıktan sonra gözlemlemek için bir.

Döndürülenler

Task<Int32>

Zaman uyumsuz işlemi temsil eden bir görev. Görev sonucu etkilenen satır sayısıdır.

Özel durumlar

Açıklamalar

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

Şunlara uygulanır