CollectionEntry<TEntity,TRelatedEntity> Sınıf

Tanım

Bu varlığı başka varlıkların 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 metotlardan döndürülür ChangeTracker ve uygulama kodunuzda doğrudan kullanılmak üzere tasarlanmamıştır.

public class CollectionEntry<TEntity,TProperty> : Microsoft.EntityFrameworkCore.ChangeTracking.CollectionEntry where TEntity : class where TProperty : class
public class CollectionEntry<TEntity,TRelatedEntity> : Microsoft.EntityFrameworkCore.ChangeTracking.CollectionEntry where TEntity : class where TRelatedEntity : class
type CollectionEntry<'Entity, 'Property (requires 'Entity : null and 'Property : null)> = class
    inherit CollectionEntry
type CollectionEntry<'Entity, 'RelatedEntity (requires 'Entity : null and 'RelatedEntity : null)> = class
    inherit CollectionEntry
Public Class CollectionEntry(Of TEntity, TProperty)
Inherits CollectionEntry
Public Class CollectionEntry(Of TEntity, TRelatedEntity)
Inherits CollectionEntry

Tür Parametreleri

TEntity

Özelliğin ait olduğu varlığın türü.

TRelatedEntity

Özelliğin türü.

Devralma
CollectionEntry<TEntity,TRelatedEntity>

Açıklamalar

Daha fazla bilgi için EF Core izlenen varlıklara erişme, yabancı anahtarları ve gezinmeleri değiştirmeve ilgili varlıkları yükleme bölümüne bakın.

Oluşturucular

CollectionEntry<TEntity,TRelatedEntity>(InternalEntityEntry, INavigation)

Bu, Entity Framework Core altyapısını destekleyen ve genel API 'Lerle aynı uyumluluk standartlarına tabi olmayan bir iç API 'dir. Herhangi bir yayında bildirimde bulunulmadan değiştirilebilir veya kaldırılabilir. Bu kodu yalnızca, büyük bir uyarı ile doğrudan kodunuzda kullanmanız ve bunu yapmanın, yeni bir Entity Framework Core sürümüne güncelleştirme yaparken uygulama hatalarıyla sonuçlanabileceğini bilmeniz gerekir.

CollectionEntry<TEntity,TRelatedEntity>(InternalEntityEntry, String)

Bu, Entity Framework Core altyapısını destekleyen ve genel API 'Lerle aynı uyumluluk standartlarına tabi olmayan bir iç API 'dir. Herhangi bir yayında bildirimde bulunulmadan değiştirilebilir veya kaldırılabilir. Bu kodu yalnızca, büyük bir uyarı ile doğrudan kodunuzda kullanmanız ve bunu yapmanın, yeni bir Entity Framework Core sürümüne güncelleştirme yaparken uygulama hatalarıyla sonuçlanabileceğini bilmeniz gerekir.

Özellikler

CurrentValue

Bu özelliğe Şu anda atanmış değeri alır veya ayarlar. Geçerli değer bu özellik kullanılarak ayarlandıysa, değişiklik İzleyicisi değişikliğin farkındadır ve DetectChanges() değişikliğin algılanması için gerekli değildir.

EntityEntry

EntityEntry<TEntity>Bu üyenin ait olduğu.

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.

(Devralındığı yer: CollectionEntry)
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.

(Devralındığı yer: CollectionEntry)
FindEntry(Object)

EntityEntry<TEntity>Bu gezintinin hedeflediği varlık.

FindEntry(Object)

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

(Devralındığı yer: CollectionEntry)
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.

(Devralındığı yer: CollectionEntry)
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.

(Devralındığı yer: CollectionEntry)
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.

(Devralındığı yer: CollectionEntry)
Query()

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

Sorgu, tüm varlıkları veritabanından yüklemeden önce, filtreleme, sayma vb. işlemleri gerçekleştirmek için LINQ kullanılarak oluşturulabilir.

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