LocalView<TEntity> Sınıf

Tanım

Bir tarafından izlenmekte olan belirli bir türdeki varlıklarla eşitlenmiş olarak kalan bir koleksiyon DbContext . LocalYerel bir görünüm elde etmek için çağırın.

Varlıklar eklendiğinde veya bağlamdan kaldırıldığından, bu yerel görünüm eşitlenmiş olarak kalır. Benzer şekilde, yerel görünümden eklenen veya kaldırılan varlıklar otomatik olarak bağlamına eklenir veya içerikten kaldırılır.

Bu koleksiyona bir varlık eklemek, Added henüz izlenmediği takdirde bağlam tarafından duruma göre izlenmesine neden olur.

Bir varlığın bu koleksiyondan kaldırılması Deleted , daha önce eklenen durumda olmadığı sürece olarak işaretlenmesine neden olur, bu durumda bağlamdan ayrılır.

Koleksiyon,, INotifyCollectionChanged INotifyPropertyChanging ve INotifyPropertyChanging bir varlık bağlam tarafından izlenmeye başladığında veya ya da olarak işaretlendiğinde bu bildirimleri üretilir Deleted Detached .

Bu türü doğrudan veri bağlama için kullanmayın. Bunun yerine ToObservableCollection() , WPF bağlama için veya WinForms için çağrı yapın ToBindingList() .

public class LocalView<TEntity> : System.Collections.Generic.ICollection<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.INotifyPropertyChanged, System.ComponentModel.INotifyPropertyChanging where TEntity : class
public class LocalView<TEntity> : System.Collections.Generic.ICollection<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.IListSource, System.ComponentModel.INotifyPropertyChanged, System.ComponentModel.INotifyPropertyChanging where TEntity : class
type LocalView<'Entity (requires 'Entity : null)> = class
    interface ICollection<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface INotifyCollectionChanged
    interface INotifyPropertyChanged
    interface INotifyPropertyChanging
type LocalView<'Entity (requires 'Entity : null)> = class
    interface ICollection<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface INotifyCollectionChanged
    interface INotifyPropertyChanged
    interface INotifyPropertyChanging
    interface IListSource
Public Class LocalView(Of TEntity)
Implements ICollection(Of TEntity), IEnumerable(Of TEntity), INotifyCollectionChanged, INotifyPropertyChanged, INotifyPropertyChanging
Public Class LocalView(Of TEntity)
Implements ICollection(Of TEntity), IEnumerable(Of TEntity), IListSource, INotifyCollectionChanged, INotifyPropertyChanged, INotifyPropertyChanging

Tür Parametreleri

TEntity

Varlığın yerel görünümdeki türü.

Devralma
LocalView<TEntity>
Uygulamalar

Açıklamalar

Daha fazla bilgi için bkz. EF Core izlenen varlıkların yerel görünümleri .

Oluşturucular

LocalView<TEntity>(DbSet<TEntity>)

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

Count

TEntity türünde, izlenmekte olan ve silinmiş olarak işaretlenmeyen varlıkların sayısı.

IsReadOnly

Koleksiyon salt okuma olmadığından false.

Yöntemler

Add(TEntity)

Öğesine yeni bir varlık ekler DbContext . Varlık izlenmiyor veya şu anda silinmiş olarak işaretlenmişse, olarak izlenir Added .

Yalnızca verilen varlığın izlendiğini unutmayın. Verilen varlıktan bulunabilecek ilgili varlıklar otomatik olarak izlenmez.

Clear()

TEntity türündeki tüm varlıkları DbContext as olarak izlenen şekilde işaretler Deleted .

Şu anda olarak işaretlenen varlıklar, Added Detached eklenen durum varlığın veritabanına kaydedilmemiş olduğunu gösterdiği ve bu nedenle veritabanını silmeyi denemesinin bir anlamı olmadığı için olarak işaretlenir.

Contains(TEntity)

trueVarlığın bağlam tarafından izlenmekte olup olmadığını ve silinmiş olarak işaretlenmediğini döndürür.

CopyTo(TEntity[], Int32)

İzlenen ve silinmiş olarak işaretlenmeyen TEntity türündeki tüm varlıkların bir diziye kopyalar.

GetEnumerator()

IEnumerator<T>Silinen olarak Işaretlenmemiş TEntity türünde izlenen tüm varlıklar için bir döndürür.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Olayını oluşturur CollectionChanged .

OnPropertyChanged(PropertyChangedEventArgs)

Olayını oluşturur PropertyChanged .

OnPropertyChanging(PropertyChangingEventArgs)

Olayını oluşturur PropertyChanging .

Remove(TEntity)

Verilen varlığı olarak işaretler Deleted .

Şu anda olarak işaretlenen varlıklar, Added Detached eklenen durum varlığın veritabanına kaydedilmemiş olduğunu gösterdiği ve bu nedenle veritabanını silmeyi denemesinin bir anlamı olmadığı için olarak işaretlenir.

ToBindingList()

BindingList<T>Bu koleksiyonla eşitlenmiş olarak kalan bir uygulama döndürür. Bu, WinForms veri bağlama için kullanın.

ToObservableCollection()

ObservableCollection<T>Bu koleksiyonla eşitlenmiş olarak kalan bir uygulama döndürür. Bunu WPF veri bağlama için kullanın.

Etkinlik

CollectionChanged

Koleksiyonun içeriği değiştiğinde gerçekleşir, ya bir varlık koleksiyona doğrudan eklenmiş veya kaldırılmış ya da bir varlık izleniyor olarak işaretlendiğinden ya da bir varlık silinmiş olarak işaretlendiğinden oluşur.

PropertyChanged

Bu koleksiyonun bir özelliği (gibi) değiştiğinde gerçekleşir Count .

PropertyChanging

Bu koleksiyonun (gibi) bir özelliği değiştiğinde gerçekleşir Count .

Belirtik Arabirim Kullanımları

IEnumerable.GetEnumerator()

IEnumerator<T>Silinen olarak Işaretlenmemiş TEntity türünde izlenen tüm varlıklar için bir döndürür.

IListSource.ContainsListCollection

Koleksiyonun System. Collections. IList nesnelerinin bir koleksiyonu olup olmadığını gösteren bir değer alır. Her zaman false döndürür.

IListSource.GetList()

Bu yöntem, veri bağlama çerçeveleri tarafından doğrudan bir ' a bağlanmaya çalışırken çağrılır LocalView<TEntity> .

Bu uygulama her zaman bir özel durum oluşturur LocalView<TEntity> , bu, dizinleri olan sıralı bir liste bulundurmaz. Bunun yerine ToObservableCollection() , WPF bağlama için veya WinForms için çağrı yapın ToBindingList() .

Şunlara uygulanır