ReferenceEntry<TEntity,TProperty> Sınıf

Tanım

Bu varlığı başka bir varlıkla ilişkilendiren bir başvuru (koleksiyon dışı) 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 ReferenceEntry<TEntity,TProperty> : Microsoft.EntityFrameworkCore.ChangeTracking.ReferenceEntry where TEntity : class where TProperty : class
type ReferenceEntry<'Entity, 'Property (requires 'Entity : null and 'Property : null)> = class
    inherit ReferenceEntry
Public Class ReferenceEntry(Of TEntity, TProperty)
Inherits ReferenceEntry

Tür Parametreleri

TEntity

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

TProperty

Özelliğin türü.

Devralma
ReferenceEntry<TEntity,TProperty>

Açıklamalar

Daha fazla bilgi için bkz. EF Core varlıklara erişme ve İlgili varlıkları yükleme.

Oluşturucular

ReferenceEntry<TEntity,TProperty>(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.

ReferenceEntry<TEntity,TProperty>(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<TEntity> ü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ği ile ilişkili yabancı anahtar özellik değerlerinin değiştirilip değiştirilmediğini ve çağrıldığında veritabanında güncelleştirilip güncelleştirilmediğini gösteren bir değer alır veya ayarlar SaveChanges() .

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

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

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

Bu EntityEntry<TEntity> gezintinin hedefle olduğu varlığın.

TargetEntry

EntityEntryBu gezintinin hedeflediği varlık.

(Devralındığı yer: ReferenceEntry)

Yöntemler

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)
GetTargetEntry()

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.

(Devralındığı yer: ReferenceEntry)
Load()

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

Zaten izlenmekte olan varlıkların, veritabanındaki yeni verilerle üzerine yazılmadığını unutmayın.

(Devralındığı yer: ReferenceEntry)
LoadAsync(CancellationToken)

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

Zaten izlenmekte olan varlıkların, veritabanındaki yeni verilerle üzerine yazılmadığını unutmayın.

Aynı bağlam örneği üzerinde birden çok etkin işlem desteklenmez. awaitBu bağlamda başka bir yöntem çağrılmadan önce herhangi bir zaman uyumsuz işlemin tamamlandığından emin olmak için kullanın.

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

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

Sorgu linq kullanarak, varlığı veritabanından gerçekten yüklemeden filtreleme, sayma vb. gerçekleştirmek için kullanılabilir.

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