LocalView<TEntity> 類別

定義

集合,與所追蹤 DbContext 之指定型別的實體保持同步。 呼叫 Local 以取得本機檢視。

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

類型參數

TEntity

本機檢視中的實體類型。

繼承
LocalView<TEntity>
實作

備註

當從內容中加入或移除實體時,這個本機檢視會維持同步的狀態。 同樣地,從本機檢視加入或移除的實體將會自動加入至內容中或是從內容中移除。

將實體新增至此集合將會導致內容在狀態中 Added 追蹤,除非已經追蹤該實體。

從這個集合中移除實體將會導致它標示為 Deleted ,除非它先前處於 [新增] 狀態,在此情況下,它會與內容中斷連結。

集合會實作 INotifyCollectionChangedINotifyPropertyChangingINotifyPropertyChanging ,如此一來,當內容開始追蹤實體或標示為 DeletedDetached 時,就會產生通知。

請勿直接將此類型用於資料系結。 請改為呼叫 ToObservableCollection() WPF 系結或 ToBindingList() WinForms。

如需詳細資訊和範例,請參閱 EF Core 中追蹤實體的本機檢視

建構函式

LocalView<TEntity>(DbSet<TEntity>)

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不需任何通知。 您應該只在程式碼中直接使用它,並特別小心,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

屬性

Count

正在追蹤且未標示為 Deleted 之 TEntity 類型的實體數目。

IsReadOnly

False,因為集合不是唯讀的。

方法

Add(TEntity)

將新的實體加入至 DbContext 。 如果實體未追蹤或目前標示為已刪除,則會變成追蹤為 Added

Clear()

將 所追蹤 DbContext 之 TEntity 類型的所有實體標示為 Deleted

Contains(TEntity)

true如果內容正在追蹤實體,且尚未標示為 Deleted,則傳回 。

CopyTo(TEntity[], Int32)

複製到正在追蹤且未標示為 Deleted 之 TEntity 類型的所有實體陣列。

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

傳回內容所追蹤之第一個實體的 , EntityEntry<TEntity> 其中指定屬性的值符合指定的值。 專案可讓您存取實體的變更追蹤資訊和作業。

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

傳回內容所追蹤之第一個實體的 , EntityEntry<TEntity> 其中指定屬性的值符合指定的值。 專案可讓您存取實體的變更追蹤資訊和作業。

FindEntry<TKey>(TKey)

EntityEntry<TEntity>如果正在追蹤,請在變更追蹤器中尋找具有指定主鍵值的實體。 null 如果未追蹤具有指定索引鍵值的實體,則會傳回 。 這個方法永遠不會查詢資料庫。

FindEntry<TProperty>(IProperty, TProperty)

EntityEntry<TEntity>傳回內容所追蹤之第一個實體的 ,其中指定屬性的值符合指定的值。 專案可讓您存取實體的變更追蹤資訊和作業。

FindEntry<TProperty>(String, TProperty)

EntityEntry<TEntity>傳回內容所追蹤之第一個實體的 ,其中指定屬性的值符合指定的值。 專案可讓您存取實體的變更追蹤資訊和作業。

FindEntryUntyped(IEnumerable<Object>)

EntityEntry<TEntity>如果正在追蹤,請在變更追蹤器中尋找具有指定主鍵值的實體。 null 如果未追蹤具有指定索引鍵值的實體,則會傳回 。 這個方法永遠不會查詢資料庫。

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

傳回內容所追蹤之每個實體的 , EntityEntry 其中指定屬性的值符合指定的值。 專案可讓您存取每個實體的變更追蹤資訊和作業。

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

傳回內容所追蹤之每個實體的 , EntityEntry 其中指定屬性的值符合指定的值。 專案可讓您存取每個實體的變更追蹤資訊和作業。

GetEntries<TProperty>(IProperty, TProperty)

傳回內容所追蹤之每個實體的 , EntityEntry<TEntity> 其中指定屬性的值符合指定的值。 專案可讓您存取每個實體的變更追蹤資訊和作業。

GetEntries<TProperty>(String, TProperty)

傳回內容所追蹤之每個實體的 , EntityEntry<TEntity> 其中指定屬性的值符合指定的值。 專案可讓您存取每個實體的變更追蹤資訊和作業。

GetEnumerator()

IEnumerator<T>針對未標示為已刪除之 TEntity 類型的所有追蹤實體,傳回 。

OnCollectionChanged(NotifyCollectionChangedEventArgs)

引發 CollectionChanged 事件。

OnPropertyChanged(PropertyChangedEventArgs)

引發 PropertyChanged 事件。

OnPropertyChanging(PropertyChangingEventArgs)

引發 PropertyChanging 事件。

Remove(TEntity)

將指定的實體標示為 Deleted

Reset()

重設此檢視、清除任何使用 ToBindingList() 建立的專案 ObservableCollection<T>IBindingListToObservableCollection() ,以及清除在 、 PropertyChangingCollectionChangedPropertyChanged 註冊的任何事件。

ToBindingList()

BindingList<T>傳回與這個集合保持同步的實作。 針對 WinForms 資料系結,請使用此選項。

ToObservableCollection()

ObservableCollection<T>傳回與這個集合保持同步的實作。 針對 WPF 資料系結,請使用此選項。

事件

CollectionChanged

發生于集合的內容變更時,可能是因為實體已經從集合中直接新增或移除,或是因為實體開始追蹤,或因為實體被標示為 Deleted。

PropertyChanged

發生于這個集合的 屬性 (例如 Count) 變更時。

PropertyChanging

發生于這個集合的屬性 (,例如 Count) 變更時。

明確介面實作

IEnumerable.GetEnumerator()

IEnumerator<T>針對未標示為已刪除之 TEntity 類型的所有追蹤實體,傳回 。

IListSource.ContainsListCollection

取得值,指出集合是否為 System.Collections.IList 物件的集合。 一律傳回 false

IListSource.GetList()

嘗試將資料直接系結至 LocalView<TEntity> 時,資料系結架構會呼叫這個方法。

適用於