ReferenceEntry Sınıf

Tanım

Bu varlığı başka bir varlıkla ilişkilendiren bir başvuru (koleksiyon olmayan) 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 ReferenceEntry : Microsoft.EntityFrameworkCore.ChangeTracking.NavigationEntry
type ReferenceEntry = class
    inherit NavigationEntry
Public Class ReferenceEntry
Inherits NavigationEntry
Devralma
Türetilmiş

Açıklamalar

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

Oluşturucular

ReferenceEntry(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.

ReferenceEntry(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

Ş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.

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

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)
TargetEntry

EntityEntryBu gezintinin hedeflediği varlık.

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.

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.

Load()

Zaten true olarak ayarlanmadıkça, bu gezinti özelliği tarafından IsLoaded başvurulan varlığı veya 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: NavigationEntry)
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.

LoadAsync(CancellationToken)

Zaten true olarak ayarlanmadıkça, bu gezinti özelliği tarafından IsLoaded başvurulan varlığı veya 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: NavigationEntry)
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.

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.

(Devralındığı yer: NavigationEntry)

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