Share via


LocalView<TEntity> Kelas

Definisi

Koleksi yang tetap sinkron dengan entitas dari jenis tertentu yang dilacak oleh DbContext. Panggilan Local untuk mendapatkan tampilan lokal.

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

Jenis parameter

TEntity

Jenis entitas dalam tampilan lokal.

Warisan
LocalView<TEntity>
Penerapan

Keterangan

Tampilan lokal ini akan tetap sinkron saat entitas ditambahkan atau dihapus dari konteks. Demikian juga, entitas yang ditambahkan ke atau dihapus dari tampilan lokal akan secara otomatis ditambahkan atau dihapus dari konteks.

Menambahkan entitas ke koleksi ini akan menyebabkannya dilacak dalam Added status oleh konteks kecuali sudah dilacak.

Menghapus entitas dari koleksi ini akan menyebabkannya ditandai sebagai Deleted, kecuali sebelumnya dalam status Ditambahkan, dalam hal ini akan dilepas dari konteks.

Koleksi mengimplementasikan INotifyCollectionChanged, INotifyPropertyChanging, dan INotifyPropertyChanging sedih sehingga pemberitahuan dihasilkan ketika entitas mulai dilacak oleh konteks atau ditandai sebagai Deleted atau Detached.

Jangan gunakan jenis ini secara langsung untuk pengikatan data. Sebagai gantinya, panggil ToObservableCollection() pengikatan WPF, atau ToBindingList() untuk WinForms.

Lihat Tampilan lokal entitas terlacak di EF Core untuk informasi dan contoh selengkapnya.

Konstruktor

LocalView<TEntity>(DbSet<TEntity>)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

Properti

Count

Jumlah entitas jenis TEntity yang sedang dilacak dan tidak ditandai sebagai Dihapus.

IsReadOnly

False, karena koleksi tidak baca-saja.

Metode

Add(TEntity)

Menambahkan entitas baru ke DbContext. Jika entitas tidak dilacak atau saat ini ditandai sebagai dihapus, entitas tersebut akan dilacak sebagai Added.

Clear()

Menandai semua entitas jenis TEntity yang dilacak oleh DbContext sebagai Deleted.

Contains(TEntity)

Mengembalikan true jika entitas sedang dilacak oleh konteks dan belum ditandai sebagai Dihapus.

CopyTo(TEntity[], Int32)

Menyalin ke array semua entitas jenis TEntity yang sedang dilacak dan tidak ditandai sebagai Dihapus.

FindEntry(IEnumerable<IProperty>, IEnumerable<Object>)

Mengembalikan untuk entitas pertama yang EntityEntry<TEntity> dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri ini menyediakan akses untuk mengubah informasi pelacakan dan operasi untuk entitas.

FindEntry(IEnumerable<String>, IEnumerable<Object>)

Mengembalikan untuk entitas pertama yang EntityEntry<TEntity> dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri ini menyediakan akses untuk mengubah informasi pelacakan dan operasi untuk entitas.

FindEntry<TKey>(TKey)

Menemukan untuk entitas dengan nilai kunci primer yang EntityEntry<TEntity> diberikan di pelacak perubahan, jika sedang dilacak. null dikembalikan jika tidak ada entitas dengan nilai kunci yang diberikan yang sedang dilacak. Metode ini tidak pernah mengkueri database.

FindEntry<TProperty>(IProperty, TProperty)

Mengembalikan untuk entitas pertama yang EntityEntry<TEntity> dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri ini menyediakan akses untuk mengubah informasi pelacakan dan operasi untuk entitas.

FindEntry<TProperty>(String, TProperty)

Mengembalikan untuk entitas pertama yang EntityEntry<TEntity> dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri ini menyediakan akses untuk mengubah informasi pelacakan dan operasi untuk entitas.

FindEntryUntyped(IEnumerable<Object>)

Menemukan untuk entitas dengan nilai kunci primer yang EntityEntry<TEntity> diberikan di pelacak perubahan, jika sedang dilacak. null dikembalikan jika tidak ada entitas dengan nilai kunci yang diberikan yang sedang dilacak. Metode ini tidak pernah mengkueri database.

GetEntries(IEnumerable<IProperty>, IEnumerable<Object>)

Mengembalikan untuk setiap entitas yang EntityEntry dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri menyediakan akses untuk mengubah informasi dan operasi pelacakan untuk setiap entitas.

GetEntries(IEnumerable<String>, IEnumerable<Object>)

Mengembalikan untuk setiap entitas yang EntityEntry dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri menyediakan akses untuk mengubah informasi dan operasi pelacakan untuk setiap entitas.

GetEntries<TProperty>(IProperty, TProperty)

Mengembalikan untuk setiap entitas yang EntityEntry<TEntity> dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri menyediakan akses untuk mengubah informasi dan operasi pelacakan untuk setiap entitas.

GetEntries<TProperty>(String, TProperty)

Mengembalikan untuk setiap entitas yang EntityEntry<TEntity> dilacak oleh konteks di mana nilai properti yang diberikan cocok dengan nilai yang diberikan. Entri menyediakan akses untuk mengubah informasi dan operasi pelacakan untuk setiap entitas.

GetEnumerator()

Mengembalikan IEnumerator<T> untuk semua entitas terlacak jenis TEntity yang tidak ditandai sebagai dihapus.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Memunculkan kejadian CollectionChanged.

OnPropertyChanged(PropertyChangedEventArgs)

Memunculkan kejadian PropertyChanged.

OnPropertyChanging(PropertyChangingEventArgs)

Memunculkan kejadian PropertyChanging.

Remove(TEntity)

Menandai entitas yang diberikan sebagai Deleted.

Reset()

Mengatur ulang tampilan ini, menghapus apa pun yang IBindingList dibuat dengan ToBindingList() dan apa pun yang ObservableCollection<T> dibuat dengan ToObservableCollection(), dan menghapus peristiwa apa pun yang terdaftar di PropertyChanged, , PropertyChangingatau CollectionChanged.

ToBindingList()

Mengembalikan BindingList<T> implementasi yang tetap sinkron dengan koleksi ini. Gunakan ini untuk pengikatan data WinForms.

ToObservableCollection()

Mengembalikan ObservableCollection<T> implementasi yang tetap sinkron dengan koleksi ini. Gunakan ini untuk pengikatan data WPF.

Acara

CollectionChanged

Terjadi ketika konten koleksi berubah, baik karena entitas telah langsung ditambahkan atau dihapus dari koleksi, atau karena entitas mulai dilacak, atau karena entitas ditandai sebagai Dihapus.

PropertyChanged

Terjadi ketika properti koleksi ini (seperti Count) berubah.

PropertyChanging

Terjadi ketika properti koleksi ini (seperti Count) berubah.

Implementasi Antarmuka Eksplisit

IEnumerable.GetEnumerator()

Mengembalikan IEnumerator<T> untuk semua entitas terlacak jenis TEntity yang tidak ditandai sebagai dihapus.

IListSource.ContainsListCollection

Mendapatkan nilai yang menunjukkan apakah koleksi adalah kumpulan objek System.Collections.IList. Selalu mengembalikan false.

IListSource.GetList()

Metode ini dipanggil oleh kerangka kerja pengikatan data saat mencoba mengikat data langsung ke LocalView<TEntity>.

Berlaku untuk