Aracılığıyla paylaş


DbSet Sınıf

Tanım

Varlık türü derleme zamanında bilinmediğinde kullanılabilen genel olmayan bir sürümü DbSet<TEntity> .

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification="Casing is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
type DbSet = class
    inherit DbQuery
Public MustInherit Class DbSet
Inherits DbQuery
Devralma
DbSet
Öznitelikler

Oluşturucular

DbSet()

DbSets için test çifti olarak kullanılacak türetilmiş türün oluşturucusundan çağrıldığında bir örneğini DbSet oluşturur. Test çifti tarafından kullanılacak yöntemler ve özellikler, varsayılan uygulamanın işlem yapılmadığı bir Include olan AsNoTracking, AsStreaming dışında test çifti tarafından uygulanmalıdır.

Özellikler

ElementType

IQueryable öğe türü.

(Devralındığı yer: DbQuery)
Local

Bu kümedeki tüm Eklenen, Değişmeyen ve Değiştirilen varlıkların yerel görünümünü temsil eden bir ObservableCollection<T> alır. Varlıklar bağlama eklendikçe veya kaldırıldığında bu yerel görünüm eşitlenmiş durumda kalır. Benzer şekilde, yerel görünüme eklenen veya yerel görünümden kaldırılan varlıklar otomatik olarak bağlama eklenir veya bağlamdan kaldırılır.

Sql

Temel alınan sorgunun bir String gösterimini alır.

(Devralındığı yer: DbQuery)

Yöntemler

Add(Object)

Verilen varlığı, SaveChanges çağrıldığında veritabanına eklenecek şekilde Eklendi durumundaki kümenin temel alınan bağlamını ekler.

AddRange(IEnumerable)

Belirtilen varlık koleksiyonunu kümenin temelindeki bağlama ekler ve her varlık Eklendi durumuna alınır; böylece SaveChanges çağrıldığında veritabanına eklenir.

AsNoTracking()

Döndürülen varlıkların içinde DbContextönbelleğe alınmayacak yeni bir sorgu döndürür.

(Devralındığı yer: DbQuery)
AsStreaming()
Geçersiz.

Arabelleğe almak yerine sonuçların akışını yapacak yeni bir sorgu döndürür.

(Devralındığı yer: DbQuery)
Attach(Object)

Verilen varlığı kümenin temel alınan bağlamını ekler. Başka bir ifadeyle varlık, veritabanından okunmuş gibi Değişmemiş durumundaki bağlama yerleştirilir.

Cast<TEntity>()

Eşdeğer genel DbSet<TEntity> nesneyi döndürür.

Create()

Bu kümenin türü için bir varlığın yeni bir örneğini oluşturur. Bu örneğin kümeye eklenmediğini veya eklenmediğini unutmayın. Temel alınan bağlam proxy'ler oluşturmak üzere yapılandırıldıysa ve varlık türü ara sunucu oluşturma gereksinimlerini karşılıyorsa döndürülen örnek bir ara sunucu olur.

Create(Type)

Bu kümenin türü veya bu kümenin türünden türetilmiş bir tür için varlığın yeni bir örneğini oluşturur. Bu örneğin kümeye eklenmediğini veya eklenmediğini unutmayın. Temel alınan bağlam proxy'ler oluşturmak üzere yapılandırıldıysa ve varlık türü ara sunucu oluşturma gereksinimlerini karşılıyorsa döndürülen örnek bir ara sunucu olur.

Equals(Object)

Varlık türü derleme zamanında bilinmediğinde kullanılabilen genel olmayan bir sürümü DbSet<TEntity> .

Find(Object[])

Verilen birincil anahtar değerlerine sahip bir varlık bulur. Verilen birincil anahtar değerlerine sahip bir varlık bağlamda mevcutsa, depoya istekte bulunmaksızın hemen döndürülür. Aksi takdirde, belirtilen birincil anahtar değerlerine sahip bir varlık için depoya istek gönderilir ve bu varlık bulunursa bağlama eklenir ve döndürülür. Bağlamda veya depoda varlık bulunamazsa null döndürülür.

FindAsync(CancellationToken, Object[])

Verilen birincil anahtar değerlerine sahip bir varlığı zaman uyumsuz olarak bulur. Verilen birincil anahtar değerlerine sahip bir varlık bağlamda mevcutsa, depoya istekte bulunmaksızın hemen döndürülür. Aksi takdirde, belirtilen birincil anahtar değerlerine sahip bir varlık için depoya istek gönderilir ve bu varlık bulunursa bağlama eklenir ve döndürülür. Bağlamda veya depoda varlık bulunamazsa null döndürülür.

FindAsync(Object[])

Verilen birincil anahtar değerlerine sahip bir varlığı zaman uyumsuz olarak bulur. Verilen birincil anahtar değerlerine sahip bir varlık bağlamda mevcutsa, depoya istekte bulunmaksızın hemen döndürülür. Aksi takdirde, belirtilen birincil anahtar değerlerine sahip bir varlık için depoya istek gönderilir ve bu varlık bulunursa bağlama eklenir ve döndürülür. Bağlamda veya depoda varlık bulunamazsa null döndürülür.

GetHashCode()

Varlık türü derleme zamanında bilinmediğinde kullanılabilen genel olmayan bir sürümü DbSet<TEntity> .

GetType()

Varlık türü derleme zamanında bilinmediğinde kullanılabilen genel olmayan bir sürümü DbSet<TEntity> .

Include(String)

Sorgu sonuçlarına eklenecek ilgili nesneleri belirtir.

(Devralındığı yer: DbQuery)
Remove(Object)

SaveChanges çağrıldığında veritabanından silinecek şekilde verilen varlığı Silinmiş olarak işaretler. Bu yöntem çağrılmadan önce varlığın bağlamda başka bir durumda bulunması gerektiğini unutmayın.

RemoveRange(IEnumerable)

Belirtilen varlık koleksiyonunu kümenin temelindeki bağlamdan kaldırır ve her varlık Silinmiş durumuna geçirilir, böylece SaveChanges çağrıldığında veritabanından silinir.

SqlQuery(String, Object[])

Bu kümedeki varlıkları döndürecek bir ham SQL sorgusu oluşturur. Varsayılan olarak, döndürülen varlıklar bağlam tarafından izlenir; bu, döndürülen üzerinde AsNoTracking çağrılarak DbRawSqlQuery değiştirilebilir. Döndürülen varlıkların her zaman bu küme için türünde olduğunu ve hiçbir zaman türetilmiş bir tür olmadığını unutmayın. Sorgulanan tablo veya tablolar diğer varlık türleri için veri içeriyorsa, yalnızca doğru türdeki varlıkların döndürülmesini sağlamak için SQL sorgusunun uygun şekilde yazılması gerekir.

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. Bağlam. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Gönderiler WHERE Yazar = @p0", userSuppliedAuthor); Alternatif olarak, bir DbParameter oluşturabilir ve Bunu SqlQuery'ye sağlayabilirsiniz. Bu, SQL sorgu dizesinde adlandırılmış parametreleri kullanmanıza olanak tanır. Bağlam. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ToString()

Temel alınan sorgunun bir String gösterimini döndürür.

(Devralındığı yer: DbQuery)

Belirtik Arabirim Kullanımları

IDbAsyncEnumerable.GetAsyncEnumerator()

Numaralandırıldığında veritabanında sorguyu yürütecek bir IDbAsyncEnumerator döndürür.

(Devralındığı yer: DbQuery)
IEnumerable.GetEnumerator()

Numaralandırıldığında veritabanında sorguyu yürütecek bir IEnumerator döndürür.

(Devralındığı yer: DbQuery)
IListSource.ContainsListCollection

false döndürür.

(Devralındığı yer: DbQuery)
IListSource.GetList()

Doğrudan bir depolama sorgusuna bağlamanın desteklenmediğini belirten bir özel durum oluşturur. Bunun yerine, örneğin Load uzantısı yöntemini kullanarak bir DbSet'i verilerle doldurun ve ardından yerel verilere bağlayın. DbSet.Local'a WPF bağlaması için. DbSet.Local.ToBindingList() Windows Forms bağlama için.

(Devralındığı yer: DbQuery)
IQueryable.Expression

IQueryable LINQ ifadesi.

(Devralındığı yer: DbQuery)
IQueryable.Provider

IQueryable sağlayıcısı.

(Devralındığı yer: DbQuery)

Şunlara uygulanır