CollectionEntry Sınıf

Tanım

Bu varlığı başka bir varlık koleksiyonuyla ilişkilendiren bir koleksiyon gezinti özelliği için değişiklik izleme ve yükleme bilgilerine erişim sağlar.

Bu sınıfın örnekleri API kullanılırken yöntemlerden döndürülür ChangeTracker ve uygulama kodunda doğrudan oluşturmak için tasarlanmaz.

public class CollectionEntry : Microsoft.EntityFrameworkCore.ChangeTracking.NavigationEntry
type CollectionEntry = class
    inherit NavigationEntry
Public Class CollectionEntry
Inherits NavigationEntry
Devralma
Türetilmiş

Açıklamalar

Daha fazla bilgi için bkz. EF Corevarlıklara erişme, Yabancı anahtarlarıve gezintileri değiştirme ve İlgili varlıkları yükleme.

Oluşturucular

CollectionEntry(InternalEntityEntry, INavigation)

Bu, genel API'lerle aynı uyumluluk standartlarına tabi Entity Framework Core altyapıyı destekleyen bir iç API'dir. Herhangi bir sürümde bildirim olmadan değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunda son derece dikkatli ve bunun yeni bir sürüme güncelleştirilen uygulama hatalarına neden olacağını bilerek Entity Framework Core gerekir.

CollectionEntry(InternalEntityEntry, String)

Bu, genel API'lerle aynı uyumluluk standartlarına tabi Entity Framework Core altyapıyı destekleyen bir iç API'dir. Herhangi bir sürümde bildirim olmadan değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunda son derece dikkatli ve bunun yeni bir sürüme güncelleştirilen uygulama hatalarına neden olacağını bilerek Entity Framework Core gerekir.

Özellikler

CurrentValue

Şu anda bu özelle atanmış olan değeri alır veya ayarlar. Geçerli değer bu özellik kullanılarak ayarlanırsa, değişiklik izleyicisi değişikliğin farkındadır ve bağlamın değişikliği DetectChanges() algılaması için gerekli değildir.

EntityEntry

Bu EntityEntry üyenin ait olduğu.

(Devralındığı yer: MemberEntry)
InternalEntry

Bu, genel API'lerle aynı uyumluluk standartlarına tabi Entity Framework Core altyapıyı destekleyen bir iç API'dir. Herhangi bir sürümde bildirim olmadan değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunda son derece dikkatli ve bunun yeni bir sürüme güncelleştirilen uygulama hatalarına neden olacağını bilerek Entity Framework Core gerekir.

(Devralındığı yer: MemberEntry)
IsLoaded

Bu gezinti özelliği tarafından başvurulan varlığın veya varlıkların yükleniyor olduğunu belirten bir değer alır veya ayarlar.

veya kullanarak veritabanından varlık Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>) yükleme ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,TProperty>>) , Load() veya bu bayrağı LoadAsync(CancellationToken) ayarlar. Veya'ya Load() LoadAsync(CancellationToken) yapılan sonraki çağrılar da bir operasyona gerek yoktur.

Tüm ilgili varlıklar yüklense bile IsLoaded'ın false olması mümkündür. Bunun nedeni, varlıkların nasıl yükleniyor olduğuna bağlı olarak, ilgili koleksiyonda tüm varlıkların yüklendiğinden emin olmak her zaman mümkün değildir. Böyle durumlarda veya çağrısı Load() yapmak tüm ilgili varlıkların yüklendiğinden emin olur ve bu bayrağı true olarak LoadAsync(CancellationToken) ayarlar.

(Devralındığı yer: NavigationEntry)
IsModified

Bu gezinti özelliğiyle ilişkili yabancı anahtar özellik değerlerden herhangi biri değiştirildiğinde ve çağrıldıkça veritabanında güncelleştirilmelidir belirten bir değer alır SaveChanges() veya ayarlar.

IsModified

Bu gezinti özelliğiyle ilişkili yabancı anahtar özellik değerlerden herhangi biri değiştirildiğinde ve çağrıldıkça veritabanında güncelleştirilmelidir belirten bir değer alır SaveChanges() veya ayarlar.

(Devralındığı yer: NavigationEntry)
Metadata

Bu özelliğin facetlerini ve veritabanıyla nasıl eşle olduğunu açıklayan meta verileri alır.

(Devralındığı yer: NavigationEntry)

Yöntemler

EnsureInitialized()

Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılmaya yönelik değildir. Bu API gelecek sürümlerde değişebilir veya kaldırılabilir.

FindEntry(Object)

Bu EntityEntry gezintinin hedefley olduğu varlığın.

Finder(Type)

Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılmaya yönelik değildir. Bu API gelecek sürümlerde değişebilir veya kaldırılabilir.

(Devralındığı yer: NavigationEntry)
GetInternalTargetEntry(Object)

Bu, genel API'lerle aynı uyumluluk standartlarına tabi Entity Framework Core altyapıyı destekleyen bir iç API'dir. Herhangi bir sürümde bildirim olmadan değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunda son derece dikkatli ve bunun yeni bir sürüme güncelleştirilen uygulama hatalarına neden olacağını bilerek Entity Framework Core gerekir.

Load()

Zaten true olarak ayarlanmadıkça, bu gezinti özelliği IsLoaded tarafından başvurulan varlıkları yükler.

Zaten izne alınan varlıkların üzerine veritabanından alınan yeni verilerle yazılmadığını unutmayın.

LoadAsync(CancellationToken)

Zaten true olarak ayarlanmadıkça, bu gezinti IsLoaded özelliği tarafından başvurulan varlıkları yükler.

Zaten izne alınan varlıkların üzerine veritabanından alınan yeni verilerle yazılmadığını unutmayın.

Aynı bağlam örneğinde birden çok etkin işlem desteklenmiyor. Bu await bağlamda başka bir yöntem çağırmadan önce zaman uyumsuz işlemlerin tamamlandığından emin olmak için kullanın.

Query()

Bu gezinti özelliği tarafından başvurulan varlıkları Load() yüklemek için tarafından kullanılacak sorguyu döndürür.

Sorgu, veritabanındaki tüm varlıkları gerçekten yüklemeden filtreleme, sayma vb. gerçekleştirmek için LINQ kullanılarak birikebilir.

Belirtik Arabirim Kullanımları

IInfrastructure<InternalEntityEntry>.Instance

Bu, genel API'lerle aynı uyumluluk standartlarına tabi Entity Framework Core altyapıyı destekleyen bir iç API'dir. Herhangi bir sürümde bildirim olmadan değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunda son derece dikkatli ve bunun yeni bir sürüme güncelleştirilen uygulama hatalarına neden olacağını bilerek Entity Framework Core gerekir.

(Devralındığı yer: MemberEntry)

Uzantı Metotları

GetInfrastructure<T>(IInfrastructure<T>)

Kullanılarak gizlenen bir özellikten değeri alır IInfrastructure<T> .

Bu yöntem genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

IInfrastructure<T> , uygulama kodunda kullanılması amaçlanmayan ancak veritabanı sağlayıcıları tarafından yazılan genişletme yöntemlerinde kullanılabilen özellikleri gizlemek için kullanılır.

Şunlara uygulanır