EntityEntry<TEntity> Sınıf

Tanım

Belirli bir varlık için değişiklik izleme bilgilerine ve işlemlerine 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 EntityEntry<TEntity> : Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry where TEntity : class
type EntityEntry<'Entity (requires 'Entity : null)> = class
    inherit EntityEntry
Public Class EntityEntry(Of TEntity)
Inherits EntityEntry

Tür Parametreleri

TEntity

Bu girdi tarafından izlenmekte olan varlık türü.

Devralma
EntityEntry<TEntity>

Açıklamalar

Daha fazla bilgi için bkz. EF Core izlenen varlıklara erişme .

Oluşturucular

EntityEntry<TEntity>(InternalEntityEntry)

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

Collections

Bu varlığın tüm koleksiyon gezinti özellikleri için değişiklik izleme bilgilerine ve yükleme bilgilerine erişim sağlar.

(Devralındığı yer: EntityEntry)
Context

Varlığı izleyen bağlamı alır.

(Devralındığı yer: EntityEntry)
CurrentValues

Bu varlık için geçerli özellik değerlerini alır.

(Devralındığı yer: EntityEntry)
DebugView

Bir girişin okunabilir görünümü için hata ayıklayıcıda bu özelliği genişletin.

Uyarı: hata ayıklama dizelerinin biçimine güvenmeyin. Bunlar yalnızca hata ayıklama için tasarlanırlar ve yayınlar arasında rastgele değişiklik gösterebilir.

(Devralındığı yer: EntityEntry)
Entity

Bu girdi tarafından izlenen varlığı alır.

InternalEntry

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: EntityEntry)
IsKeySet

Bu varlığın anahtar değerlerinin bir değer atandığını gösteren bir değer alır.

Mağaza tarafından oluşturulan özelliklerle (örneğin, kimlik sütunlarına eşleme) anahtarlar için, depo tarafından oluşturulan özelliklerden herhangi birinin CLR varsayılan değeri varsa, dönüş değeri false olur.

Depo tarafından oluşturulan herhangi bir özellik olmadan anahtarlar için, herhangi bir değer geçerli bir anahtar değeri olarak kabul edildiği için dönüş değeri her zaman true olur.

(Devralındığı yer: EntityEntry)
Members

Bu varlığın tüm özellikleri ve gezinti özellikleri için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

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

Varlığın şekli, diğer varlıklarla ilişkileri ve veritabanına nasıl eşlendiğini gösteren meta verileri alır.

(Devralındığı yer: EntityEntry)
Navigations

Bu varlığın tüm gezinti özellikleri için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

(Devralındığı yer: EntityEntry)
OriginalValues

Bu varlık için özgün özellik değerlerini alır. Özgün değerler, varlık veritabanından alındığı gibi özellik değerleridir.

Gerçek özgün özellik değerleri kullanılabilir olmadığında (örn. varlık henüz veritabanına kalıcı hale getirilmemiş veya izleme olmayan bir sorguda alınmadıysa) Bu, varsayılan olarak bu varlığın geçerli özellik değerleri olur.

(Devralındığı yer: EntityEntry)
Properties

Bu varlığın tüm özellikleri için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

(Devralındığı yer: EntityEntry)
References

Değişiklik izleme bilgilerine ve bu varlığın tüm başvuru (koleksiyon olmayan) gezinti özelliklerine ilişkin bilgileri yüklemeye erişim sağlar.

(Devralındığı yer: EntityEntry)
State

Bu varlığın izlenmekte olduğu durumu alır veya ayarlar.

Bu yöntem, yalnızca bu girişle temsil edilen tek varlığın durumunu ayarlar. Bu, bu kaynaktan erişilebilen diğer varlıkların durumunu değiştirmez.

Durum ayarlanırken, varlık her zaman belirtilen durumda sona bırakılır. Örneğin, durumu varlık olarak değiştirirseniz, Deleted geçerli durumu ne olursa olsun silinmek üzere işaretlenir. Bu, bir durumundaysa, Remove(TEntity) varlığın bağlantısının kesileceğini (silinmek üzere işaretlenmek yerine) farklı olur Added .

(Devralındığı yer: EntityEntry)

Yöntemler

Collection(String)

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.

(Devralındığı yer: EntityEntry)
Collection<TProperty>(Expression<Func<TEntity,IEnumerable<TProperty>>>)

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.

Collection<TProperty>(String)

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.

DetectChanges()

Örnek verilerinde yapılan tüm değişiklikleri algılamak için bu varlık örneğini tarar. DetectChanges() Genellikle, değişiklik izleme bilgilerini döndürmeden önce tek bir varlık hakkındaki güncel bilgileri almak için bağlam tarafından otomatik olarak çağrılır. Genellikle, bu yöntemi yalnızca devre dışı bırakıldıysa çağırmanız gerekir AutoDetectChangesEnabled .

(Devralındığı yer: EntityEntry)
GetDatabaseValues()

Veritabanında mevcut oldukları sırada izlenen varlık değerlerinin kopyaları için veritabanını sorgular. Varlık veritabanında bulunmazsa, null döndürülür.

Döndürülen sözlükteki değerlerin değiştirilmesinin veritabanındaki değerleri güncelleştirmeyeceğini unutmayın.

(Devralındığı yer: EntityEntry)
GetDatabaseValuesAsync(CancellationToken)

Veritabanında mevcut oldukları sırada izlenen varlık değerlerinin kopyaları için veritabanını sorgular. Varlık veritabanında bulunamazsa null döndürülür.

Döndürülen sözlükteki değerlerin değiştirilmesinin veritabanındaki değerleri güncelleştirmeyeceğini 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: EntityEntry)
Member(String)

Bu varlığın belirli bir özelliği veya gezinti özelliği için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

(Devralındığı yer: EntityEntry)
Navigation(String)

Bu varlığın belirli bir gezinti özelliği için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

(Devralındığı yer: EntityEntry)
Property(String)

Bu varlığın belirli bir özelliği için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

(Devralındığı yer: EntityEntry)
Property<TProperty>(Expression<Func<TEntity,TProperty>>)

Bu varlığın belirli bir özelliği için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

Property<TProperty>(String)

Bu varlığın belirli bir özelliği için değişiklik izleme bilgilerine ve işlemlerine erişim sağlar.

Reference(String)

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.

(Devralındığı yer: EntityEntry)
Reference<TProperty>(Expression<Func<TEntity,TProperty>>)

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.

Reference<TProperty>(String)

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.

Reload()

Veritabanındaki değeri olan özellik değerlerinin üzerine yazarak varlığı veritabanından yeniden yükler.

Varlık Unchanged veritabanında mevcut olmadığından varlık bu yöntemi çağırdıktan sonra durum içinde olur ve bu durumda varlık olur Detached . Son olarak, Added veritabanında var olmayan bir varlığa yeniden yükleme çağrısı, Op değildir. Ancak, eklenen bir varlığın kalıcı anahtar değerinin henüz oluşturulmuş olabileceğini unutmayın.

(Devralındığı yer: EntityEntry)
ReloadAsync(CancellationToken)

Veritabanındaki değeri olan özellik değerlerinin üzerine yazarak varlığı veritabanından yeniden yükler.

Varlık Unchanged veritabanında mevcut olmadığından varlık bu yöntemi çağırdıktan sonra durum içinde olur ve bu durumda varlık olur Detached . Son olarak, Added veritabanında var olmayan bir varlığa yeniden yükleme çağrısı, Op değildir. Ancak, eklenen bir varlığın kalıcı anahtar değerinin henüz oluşturulmuş olabileceğini unutmayın.

(Devralındığı yer: EntityEntry)

Belirtik Arabirim Kullanımları

IInfrastructure<InternalEntityEntry>.Instance

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: EntityEntry)

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