Dil

RelationalQueryableExtensions Sınıf

Tanım

LINQ sorguları için ilişkisel veritabanına özgü uzantı yöntemleri.

public static class RelationalQueryableExtensions
[System.Runtime.CompilerServices.Nullable(0)]
public static class RelationalQueryableExtensions
type RelationalQueryableExtensions = class
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalQueryableExtensions = class
Public Module RelationalQueryableExtensions
Devralma
RelationalQueryableExtensions
Özellikler

Yöntemler

Veri Akışı Adı Description
AsSingleQuery<TEntity>(IQueryable<TEntity>)

Sorgu sonuçlarındaki koleksiyonları tek bir veritabanı sorgusuna yüklemek üzere yapılandırılmış yeni bir sorgu döndürür.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

Ayrı veritabanı sorguları aracılığıyla sorgu sonuçlarındaki koleksiyonları yüklemek üzere yapılandırılmış yeni bir sorgu döndürür.

CreateDbCommand(IQueryable)

Bu sorguyu yürütmek için bir DbCommand kurulum oluşturur.

ExecuteDelete<TSource>(IQueryable<TSource>)

Varlık örneklerinin LINQ sorgusuyla eşleşen tüm veritabanı satırlarını veritabanından siler.

ExecuteDeleteAsync<TSource>(IQueryable<TSource>, CancellationToken)

Varlık örnekleri için LINQ sorgusuyla eşleşen veritabanı satırlarını veritabanından zaman uyumsuz olarak siler.

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>)

Varlık örnekleri için veritabanındaki LINQ sorgusuyla eşleşen tüm veritabanı satırlarını güncelleştirir.

ExecuteUpdateAsync<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>, CancellationToken)

Varlık örnekleri için veritabanındaki LINQ sorgusuyla eşleşen veritabanı satırlarını zaman uyumsuz olarak güncelleştirir.

FromSql<TEntity>(DbSet<TEntity>, FormattableString)

SQL sorgusunu temsil eden ilişkilendirilmiş dizeyi temel alan bir LINQ sorgusu oluşturur.

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Geçersiz.

SQL sorgusunu temsil eden ilişkilendirilmiş dizeyi temel alan bir LINQ sorgusu oluşturur.

Veritabanı sağlayıcısı sağlanan SQL üzerinde oluşturma işlemini destekliyorsa, LINQ işleçlerini kullanarak ham SQL sorgusunun üzerine oluşturabilirsiniz - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

SQL'i kabul eden herhangi bir API'de olduğu gibi, SQL ekleme saldırısına karşı koruma sağlamak için tüm kullanıcı girişlerini parametreleştirmek önemlidir. SQL sorgu dizesine ilişkilendirilmiş parametre yer tutucuları ekleyebilirsiniz. Sağladığınız tüm ilişkilendirilmiş parametre değerleri otomatik olarak DbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")öğesine dönüştürülür.

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Geçersiz.

Ham SQL sorgusunu temel alan bir LINQ sorgusu oluşturur.

Veritabanı sağlayıcısı sağlanan SQL üzerinde oluşturma işlemini destekliyorsa, LINQ işleçlerini kullanarak ham SQL sorgusunun üzerine oluşturabilirsiniz - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

SQL'i kabul eden herhangi bir API'de olduğu gibi, SQL ekleme saldırısına karşı koruma sağlamak için tüm kullanıcı girişlerini 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 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)öğesine dönüştürülür.

Bu aşırı yükleme, DbParameter örneklerini parametre değerleri olarak da kabul eder. Bu, SQL sorgu dizesinde adlandırılmış parametreler kullanmanıza olanak tanır - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

Ham SQL sorgusunu temel alan bir LINQ sorgusu oluşturur.

Veritabanı sağlayıcısı sağlanan SQL üzerinde oluşturma işlemini destekliyorsa, LINQ işleçlerini kullanarak ham SQL sorgusunun üzerine oluşturabilirsiniz - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name).

SQL'i kabul eden herhangi bir API'de olduğu gibi, SQL ekleme saldırısına karşı koruma sağlamak için tüm kullanıcı girişlerini 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 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)öğesine dönüştürülür.

Ayrıca bir DbParameter oluşturabilir ve bunu parametre değeri olarak sağlayabilirsiniz. Bu, SQL sorgu dizesinde adlandırılmış parametreler kullanmanıza olanak tanır - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString)
Geçersiz.

SQL sorgusunu temsil eden ilişkilendirilmiş dizeyi temel alan bir LINQ sorgusu oluşturur.

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

Ham SQL sorgusunu temel alan bir LINQ sorgusu oluşturur.

Şunlara uygulanır