LocalView<TEntity> Klasa

Definicja

Kolekcja, która pozostaje zsynchronizowana z jednostkami danego typu śledzonym przez DbContextobiekt . Wywołaj wywołanie Local , aby uzyskać widok lokalny.

Ten widok lokalny pozostanie zsynchronizowany, ponieważ jednostki zostaną dodane lub usunięte z kontekstu. Podobnie jednostki dodane do lub usunięte z widoku lokalnego zostaną automatycznie dodane do lub usunięte z kontekstu.

Dodanie jednostki do tej kolekcji spowoduje, że będzie ona śledzona w Added stanie przez kontekst, chyba że jest już śledzona.

Usunięcie jednostki z tej kolekcji spowoduje, że zostanie ona oznaczona jako Deleted, chyba że została wcześniej w stanie Dodano, w takim przypadku zostanie odłączona od kontekstu.

Kolekcja implementuje INotifyCollectionChanged, INotifyPropertyChangingi INotifyPropertyChanging takie, że powiadomienia są generowane po rozpoczęciu śledzenia jednostki przez kontekst lub jest oznaczony jako Deleted lub Detached.

Nie używaj tego typu bezpośrednio do powiązania danych. Zamiast tego wywołaj ToObservableCollection() powiązanie WPF lub ToBindingList() winForms.

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

Parametry typu

TEntity

Typ jednostki w widoku lokalnym.

Dziedziczenie
LocalView<TEntity>
Implementuje

Uwagi

Aby uzyskać więcej informacji , zobacz Widoki lokalne śledzonych jednostek w programie EF Core .

Konstruktory

LocalView<TEntity>(DbSet<TEntity>)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

Właściwości

Count

Liczba jednostek typu TEntity, które są śledzone i nie są oznaczone jako Usunięte.

IsReadOnly

Fałsz, ponieważ kolekcja nie jest tylko do odczytu.

Metody

Add(TEntity)

Dodaje nową jednostkę do elementu DbContext. Jeśli jednostka nie jest śledzona lub jest obecnie oznaczona jako usunięta, zostanie ona śledzona jako Added.

Należy pamiętać, że śledzona jest tylko dana jednostka. Wszystkie powiązane jednostki wykrywalne z danej jednostki nie są śledzone automatycznie.

Clear()

Oznacza wszystkie jednostki typu TEntity śledzone przez DbContext element jako Deleted.

Jednostki, które są obecnie oznaczone jako Added będą oznaczone jako Detached , ponieważ stan Dodano wskazuje, że jednostka nie została zapisana w bazie danych i dlatego nie ma sensu próbować usunąć jej z bazy danych.

Contains(TEntity)

Zwraca wartość true , jeśli jednostka jest śledzona przez kontekst i nie została oznaczona jako Usunięta.

CopyTo(TEntity[], Int32)

Kopie do tablicy wszystkie jednostki typu TEntity, które są śledzone i nie są oznaczone jako Usunięte.

GetEnumerator()

Zwraca wartość dla IEnumerator<T> wszystkich śledzonych jednostek typu TEntity, które nie są oznaczone jako usunięte.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

CollectionChanged Zgłasza zdarzenie.

OnPropertyChanged(PropertyChangedEventArgs)

PropertyChanged Zgłasza zdarzenie.

OnPropertyChanging(PropertyChangingEventArgs)

PropertyChanging Zgłasza zdarzenie.

Remove(TEntity)

Oznacza daną jednostkę jako Deleted.

Jednostki, które są obecnie oznaczone jako Added będą oznaczone jako Detached , ponieważ stan Dodano wskazuje, że jednostka nie została zapisana w bazie danych i dlatego nie ma sensu próbować usunąć jej z bazy danych.

ToBindingList()

Zwraca implementację BindingList<T> , która pozostaje zsynchronizowana z tą kolekcją. Użyj tego dla powiązania danych WinForms.

ToObservableCollection()

Zwraca implementację ObservableCollection<T> , która pozostaje zsynchronizowana z tą kolekcją. Użyj tego dla powiązania danych WPF.

Zdarzenia

CollectionChanged

Występuje, gdy zawartość kolekcji ulegnie zmianie, ponieważ jednostka została bezpośrednio dodana lub usunięta z kolekcji albo dlatego, że jednostka zaczyna być śledzona, albo ponieważ jednostka jest oznaczona jako Usunięta.

PropertyChanged

Występuje, gdy właściwość tej kolekcji (na przykład Count) zmienia się.

PropertyChanging

Występuje, gdy właściwość tej kolekcji (na przykład Count) zmienia się.

Jawne implementacje interfejsu

IEnumerable.GetEnumerator()

Zwraca wartość dla IEnumerator<T> wszystkich śledzonych jednostek typu TEntity, które nie są oznaczone jako usunięte.

IListSource.ContainsListCollection

Pobiera wartość wskazującą, czy kolekcja jest kolekcją obiektów System.Collections.IList. Zawsze zwraca wartość false.

IListSource.GetList()

Ta metoda jest wywoływana przez struktury powiązań danych podczas próby powiązania danych bezpośrednio z elementem LocalView<TEntity>.

Ta implementacja zawsze zgłasza wyjątek, ponieważ LocalView<TEntity> nie utrzymuje uporządkowanej listy z indeksami. Zamiast tego wywołaj ToObservableCollection() powiązanie WPF lub ToBindingList() winForms.

Dotyczy