IIncludableQueryable<TEntity,TProperty> Arabirim

Tanım

Sorgulanabilir Include/ThenInclude zincirleme işleçlerini destekler.

public interface IIncludableQueryable<out TEntity,out TProperty> : System.Collections.Generic.IEnumerable<out TEntity>, System.Linq.IQueryable<out TEntity>
type IIncludableQueryable<'Entity, 'Property> = interface
    interface IQueryable<'Entity>
    interface seq<'Entity>
    interface IEnumerable
    interface IQueryable
Public Interface IIncludableQueryable(Of Out TEntity, Out TProperty)
Implements IEnumerable(Of Out TEntity), IQueryable(Of Out TEntity)

Tür Parametreleri

TEntity

Varlık türü.

Bu genel tür parametresi kovaryanttır. Bu, kendi belirttiğiniz türü veya daha fazla türetilmiş başka bir türü kullanabileceğiniz anlamına gelir. Kovaryans ve kontravaryans hakkında daha fazla bilgi için bkz. Genel Türlerde Kovaryans ve Kontravaryans.
TProperty

Özellik türü.

Bu genel tür parametresi kovaryanttır. Bu, kendi belirttiğiniz türü veya daha fazla türetilmiş başka bir türü kullanabileceğiniz anlamına gelir. Kovaryans ve kontravaryans hakkında daha fazla bilgi için bkz. Genel Türlerde Kovaryans ve Kontravaryans.
Uygulamalar

Açıklamalar

Daha fazla bilgi için bkz. Veritabanı sağlayıcıları ve EF Core uygulama ve sorgular nasıl çalışır?

Uzantı Metotları

WithPartitionKey<TEntity>(IQueryable<TEntity>, String)

Sorgu için kullanılan bölüm için bölüm anahtarını belirtin. Kimlik doğrulaması için bir bölüm anahtarına dayalı olarak izin sağlayan bir kaynak belirteci kullanılırken gereklidir.

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Zaman uyumsuz olarak bir dizinin tüm öğelerinin bir koşulu karşılayıp karşılamadığını belirler.

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Zaman uyumsuz bir dizideki herhangi bir öğenin bir koşula uymayacağını zaman uyumsuz olarak belirler.

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

Zaman uyumsuz bir sıranın herhangi bir öğe içerip içermediğini belirler.

AsAsyncEnumerable<TSource>(IQueryable<TSource>)

IAsyncEnumerable<T>Zaman uyumsuz olarak Numaralandırılabilir bir döndürür.

AsNoTracking<TEntity>(IQueryable<TEntity>)

Değişiklik İzleyicisi, bir LINQ sorgusundan döndürülen varlıkların hiçbirini izlemecektir. Varlık örnekleri değiştirilirse, bu değişiklik İzleyici tarafından algılanmaz ve bu SaveChanges() değişiklikleri veritabanında kalıcı hale getirilecektir.

Değişiklik izlemenin devre dışı bırakılması, her varlık örneği için değişiklik izlemeyi ayarlama yükünü önlediği için salt okuma senaryolarında kullanışlıdır. Varlık örneklerini işlemek ve bu değişiklikleri veritabanında kalıcı hale getirmek istiyorsanız değişiklik izlemeyi devre dışı bırakmanız gerekir SaveChanges() .

Kimlik çözümlemesi gerçekleştirilmeyecektir. Belirli bir anahtara sahip bir varlık sonuç kümesinde farklı bir sonuç içeriyorsa, farklı örnekleri olur.

Sorgular için varsayılan izleme davranışı tarafından denetlenebilir QueryTrackingBehavior .

AsNoTrackingWithIdentityResolution<TEntity>(IQueryable<TEntity>)

Değişiklik İzleyicisi, bir LINQ sorgusundan döndürülen varlıkların hiçbirini izlemecektir. Varlık örnekleri değiştirilirse, bu değişiklik İzleyici tarafından algılanmaz ve bu SaveChanges() değişiklikleri veritabanında kalıcı hale getirilecektir.

Değişiklik izlemenin devre dışı bırakılması, her varlık örneği için değişiklik izlemeyi ayarlama yükünü önlediği için salt okuma senaryolarında kullanışlıdır. Varlık örneklerini işlemek ve bu değişiklikleri veritabanında kalıcı hale getirmek istiyorsanız değişiklik izlemeyi devre dışı bırakmanız gerekir SaveChanges() .

Kimlik çözümlemesi, sonuç kümesindeki belirli bir anahtara sahip bir varlığın tüm tekrarlarının aynı varlık örneğiyle temsil edildiğinden emin olmak için gerçekleştirilir.

Sorgular için varsayılan izleme davranışı tarafından denetlenebilir QueryTrackingBehavior .

AsTracking<TEntity>(IQueryable<TEntity>)

Değişiklik İzleyicisi 'nin döndürülen tüm varlıklar için değişiklikleri tutacağı yeni bir sorgu döndürür. Varlık örneklerinde yapılan herhangi bir değişiklik, sırasında veritabanında algılanır ve kalıcı hale getirilir SaveChanges() .

Sorgular için varsayılan izleme davranışı tarafından denetlenebilir QueryTrackingBehavior .

AsTracking<TEntity>(IQueryable<TEntity>, QueryTrackingBehavior)

Değişiklik izleyicide, ' Track ' parametresinin değerine bağlı olarak, döndürülen tüm varlıklar için değişiklikleri izlemediğinden veya değişiklik izleyicide olmayan yeni bir sorgu döndürür. İzleme sırasında, varlık örneklerinde yapılan tüm değişiklikler, sırasında veritabanında algılanır ve kalıcı hale getirilir SaveChanges() . İzleme olmadığında, varlık örnekleri değiştirilirse bu değişiklik İzleyici tarafından algılanmaz ve bu SaveChanges() değişiklikleri veritabanında kalıcı olmayacaktır.

Değişiklik izlemenin devre dışı bırakılması, her varlık örneği için değişiklik izlemeyi ayarlama yükünü önlediği için salt okuma senaryolarında kullanışlıdır. Varlık örneklerini işlemek ve bu değişiklikleri veritabanında kalıcı hale getirmek istiyorsanız değişiklik izlemeyi devre dışı bırakmanız gerekir SaveChanges() .

Sorgular için varsayılan izleme davranışı tarafından denetlenebilir QueryTrackingBehavior .

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işleviyle elde edilen değer dizisinin ortalamasını hesaplar.

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

Varsayılan eşitlik karşıtlığı kullanarak bir sıranın belirtilen bir öğeyi içerdiğini zaman uyumsuz olarak belirler.

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Bir koşulu karşılayan bir dizide öğelerin sayısını zaman uyumsuz olarak döndürür.

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

Bir dizide öğelerin sayısını zaman uyumsuz olarak döndürür.

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Belirtilen koşulu yerine getiren bir dizideki ilk öğeyi zaman uyumsuz olarak döndürür.

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

Zaman uyumsuz olarak bir dizinin ilk öğesini döndürür.

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Zaman uyumsuz, belirtilen bir koşulu karşılayan bir dizinin ilk öğesini veya böyle bir öğe bulunmazsa varsayılan değeri döndürür.

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

Zaman uyumsuz, sıranın ilk öğesini veya dizi hiçbir öğe içermiyorsa varsayılan değeri döndürür.

ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken)

Sorgu sonuçlarını zaman uyumsuz olarak numaralandırır ve her öğe için belirtilen eylemi gerçekleştirir.

IgnoreAutoIncludes<TEntity>(IQueryable<TEntity>)

Geçerli Entity Framework LINQ sorgusunun uygulanmış herhangi bir model düzeyi Eager yüklü gezginler olmadığını belirtir.

IgnoreQueryFilters<TEntity>(IQueryable<TEntity>)

Geçerli Entity Framework LINQ sorgusunun hiçbir model düzeyi varlık sorgu filtresi uygulanacağını belirtir.

Include<TEntity>(IQueryable<TEntity>, String)

Sorgu sonuçlarına dahil edilecek ilgili varlıkları belirtir. Dahil edilecek gezinti özelliği, sorgulanan varlık türü () ile başlayarak belirtilmiştir TEntity . Dahil edilecek daha fazla gezinti özelliği, '. ' karakteriyle ayrılarak eklenebilir.

Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)

Sorgu sonuçlarına dahil edilecek ilgili varlıkları belirtir. Dahil edilecek gezinti özelliği, sorgulanan varlık türü () ile başlayarak belirtilmiştir TEntity . Dahil edilen türün gezinti özelliklerine göre ek türler eklemek istiyorsanız, bir çağrısını zincirle ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,TProperty>>) Bu çağrıdan sonra.

LastAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Belirtilen koşulu yerine getiren bir sıranın son öğesini zaman uyumsuz olarak döndürür.

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

Zaman uyumsuz, sıranın son öğesini döndürür.

LastOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Belirli bir koşulu veya böyle bir öğe bulunamıyorsa varsayılan bir değeri yerine getiren bir sıranın son öğesini zaman uyumsuz olarak döndürür.

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

Bir sıranın son öğesini veya dizi öğe içeriyorsa varsayılan değeri zaman uyumsuz olarak döndürür.

Load<TSource>(IQueryable<TSource>)

Sorguyu numaralar. Bu Entity Framework sorgu sonuçlarının ilişkili bağlama yüklenmesine neden olur. Bu, ToList çağrısı yapmak ve ardından listeyi atmakla eşdeğerdir (listeyi oluşturma yükü olmadan).

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

Sorguyu zaman uyumsuz olarak numaralar. Bu Entity Framework sorgu sonuçlarının ilişkili bağlama yüklenmesine neden olur. Bu, ToList çağrısı yapmak ve ardından listeyi atmakla eşdeğerdir (listeyi oluşturma yükü olmadan).

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Bir koşulu karşılayan bir Int64 dizide öğe sayısını temsil eden bir zaman uyumsuz olarak döndürür.

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

Bir dizide toplam öğe Int64 sayısını temsil eden bir zaman uyumsuz olarak döndürür.

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

Zaman uyumsuz olarak bir sıranın maksimum değerini döndürür.

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

Bir dizideki her öğe üzerinde bir projeksiyon işlevini zaman uyumsuz olarak çağırır ve sonuçta elde edilen en yüksek değeri döndürür.

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

Zaman uyumsuz olarak bir sıranın en düşük değerini döndürür.

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

Bir dizideki her öğe üzerinde bir projeksiyon işlevini zaman uyumsuz olarak çağırır ve sonuçta elde edilen en düşük değeri döndürür.

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Zaman uyumsuz olarak, belirtilen koşulu yerine getiren bir dizideki tek öğeyi döndürür ve böyle birden fazla öğe varsa bir özel durum oluşturur.

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

Zaman uyumsuz olarak bir sıranın tek öğesini döndürür ve dizide tam olarak bir öğe yoksa bir özel durum oluşturur.

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Zaman uyumsuz olarak, belirtilen bir koşulu veya böyle bir öğe yoksa varsayılan bir değeri yerine getiren bir sıranın tek öğesini döndürür; Bu yöntem, koşulu birden fazla öğe karşılarsa bir özel durum oluşturur.

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

Bir sıranın tek öğesini veya sıra boşsa varsayılan değeri zaman uyumsuz olarak döndürür; Bu yöntem, dizide birden fazla öğe varsa bir özel durum oluşturur.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

Zaman uyumsuz olarak, giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin toplamını hesaplar.

TagWith<T>(IQueryable<T>, String)

EF LINQ sorgusuyla ilişkili Etiketler koleksiyonuna bir etiket ekler. Etiketler, sorgu işlem hattının farklı noktalarında bağlamsal izleme bilgileri sağlayabilen sorgu ek açıklamalardır.

TagWithCallSite<T>(IQueryable<T>, String, Int32)

Kaynak dosya adı ve bir EF LINQ sorgusuyla ilişkili Etiketler koleksiyonuna, sorgu işlem hattının farklı noktalarında bağlamsal izleme bilgileri sağlayabilen bir etiket ekler.

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,TPreviousProperty>, Expression<Func<TPreviousProperty,TProperty>>)

Yeni eklenen ilgili bir türe göre daha fazla eklenecek ek verileri belirtir.

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

Zaman uyumsuz olarak numaralandırarak bir diziyi bir dizi oluşturur IQueryable<T> .

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken)

Bir 'den, belirtilen anahtar seçici işlevine ve bir karşıtlık işlevine göre zaman uyumsuz Dictionary<TKey,TValue> IQueryable<T> olarak numaralarak oluşturur.

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken)

Bir Dictionary<TKey,TValue> öğesinden, IQueryable<T> belirtilen bir anahtar Seçici işlevine göre zaman uyumsuz olarak numaralandırarak bir oluşturur.

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken)

Bir öğesinden, belirtilen anahtar seçici işlevine, bir karşıtlık işlevine ve öğe seçici işlevine göre zaman uyumsuz olarak Dictionary<TKey,TValue> IQueryable<T> numaralarak oluşturur.

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken)

Bir öğesinden, belirtilen anahtar seçiciye ve öğe seçici işlevine göre zaman uyumsuz Dictionary<TKey,TValue> IQueryable<T> olarak numaralarak oluşturur.

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

Zaman uyumsuz olarak numaralarak bir 'den zaman List<T> IQueryable<T> uyumsuz olarak oluşturur.

AsSingleQuery<TEntity>(IQueryable<TEntity>)

Sorgu sonuçlarında koleksiyonları tek bir veritabanı sorgusuyla yüklemek için yapılandırılmış yeni bir sorgu döndürür.

Bu davranış genellikle eşzamanlı güncelleştirmeler karşısında sonuç tutarlılığını garantiler (ancak ayrıntılar kullanılan veritabanına ve işlem yalıtımı düzeyine göre değişebilir). Ancak bu, sorgu birden çok ilgili koleksiyon yüklerken performans sorunlarına neden olabilir.

Sorgular için varsayılan sorgu bölme davranışı tarafından UseQuerySplittingBehavior(QuerySplittingBehavior) denetlenebilirsiniz.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

Ayrı veritabanı sorguları aracılığıyla sorgu sonuçlarına koleksiyon yüklemek için yapılandırılmış yeni bir sorgu döndürür.

Bu davranış, sorgu birden çok koleksiyon yüklerken performansı önemli ölçüde geliştirebilir. Ancak, ayrı sorgular kullanılırken bu durum eşzamanlı güncelleştirmeler oluştuğunda tutarsız sonuçlara neden olabilir. Seri hale getirilebilir veya anlık görüntü işlemleri bunu azaltmak ve bölünmüş sorgularla tutarlılık elde etmek için kullanılabilir, ancak bu başka performans maliyetleri ve davranış farkı getirebilir.

Sorgular için varsayılan sorgu bölme davranışı tarafından UseQuerySplittingBehavior(QuerySplittingBehavior) denetlenebilirsiniz.

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Kullanımdan kalktı.

Ham bir sorguyu temel alan bir LINQ SQL oluşturur.

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

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 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

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

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Kullanımdan kalktı.

Bir linq sorgusunu temsil eden irdelenmiş dizeyi temel alan bir LINQ SQL oluşturur.

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

Api'lerde olduğu gibi SQL ekleme saldırısına karşı korumak için tüm kullanıcı girişlerini parametre SQL önemlidir. İlişkili parametre yer tutucularını sorgu dizesinde SQL ebilirsiniz. İlişkili olarak temin edersiniz tüm parametre değerleri otomatik olarak DbParameter'a dönüştürülür - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})").

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

Ham bir sorguyu temel alan bir LINQ SQL oluşturur.

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

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 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm).

Ayrıca bir DbParameter oluşturun ve parametre değeri olarak bunu s belirtin. Bu, sorgu dizesinde adlandırılmış parametreleri SQL sağlar - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

Şunlara uygulanır