LocalView<TEntity> Класс

Определение

Коллекция, которая остается синхронизированной с сущностями заданного типа, отслеживаемой с помощью .DbContext Вызов Local для получения локального представления.

Это локальное представление остается синхронизированным по мере добавления или удаления сущностей из контекста. Аналогичным образом добавляемые или удаляемые из этого локального представления сущности автоматически добавляются в контекст или удаляются из контекста.

Добавление сущности в эту коллекцию приведет к тому, что она будет отслеживаться в Added состоянии с помощью контекста, если она еще не отслеживается.

Удаление сущности из этой коллекции приведет к тому, что она будет помечена как Deletedне указанная ранее в добавленном состоянии, в этом случае она будет отсоединяться от контекста.

Коллекция реализует INotifyCollectionChangedINotifyPropertyChangingи INotifyPropertyChanging создает уведомления, когда сущность начинает отслеживаться контекстом или помечается как Deleted илиDetached.

Не используйте этот тип непосредственно для привязки данных. Вместо этого вызов привязки ToObservableCollection() WPF или 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

Параметры типа

TEntity

Тип сущности в локальном представлении.

Наследование
LocalView<TEntity>
Реализации

Комментарии

Дополнительные сведения см. в локальных представлениях отслеживаемых сущностей в EF Core .

Конструкторы

LocalView<TEntity>(DbSet<TEntity>)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не соответствует тем же стандартам совместимости, что и общедоступные API. Его можно изменить или удалить без уведомления в любом выпуске. Его следует использовать непосредственно в коде с крайней осторожностью и знать, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

Свойства

Count

Число сущностей типа TEntity, которые отслеживаются и не помечены как удаленные.

IsReadOnly

False, так как коллекция не доступна только для чтения.

Методы

Add(TEntity)

Добавляет новую сущность в .DbContext Если сущность не отслеживается или в настоящее время помечена как удаленная, она будет отслеживаться как Added.

Обратите внимание, что отслеживается только данная сущность. Все связанные сущности, обнаруживаемые из данной сущности, не отслеживаются автоматически.

Clear()

Помечает все сущности типа TEntity, отслеживаемые как DbContextDeleted.

Сущности, которые в настоящее время помечены как помеченные как Added будут помечены как Detached добавленные, указывают на то, что сущность не была сохранена в базе данных и поэтому не имеет смысла пытаться удалить ее из базы данных.

Contains(TEntity)

Возвращает значение true , если сущность отслеживается контекстом и не помечена как удаленная.

CopyTo(TEntity[], Int32)

Копирует в массив все сущности типа TEntity, которые отслеживаются и не помечены как удаленные.

GetEnumerator()

IEnumerator<T> Возвращает все отслеживаемые сущности типа TEntity, которые не помечены как удаленные.

OnCollectionChanged(NotifyCollectionChangedEventArgs)

Вызывает событие CollectionChanged.

OnPropertyChanged(PropertyChangedEventArgs)

Вызывает событие PropertyChanged.

OnPropertyChanging(PropertyChangingEventArgs)

Вызывает событие PropertyChanging.

Remove(TEntity)

Помечает заданную сущность как Deleted.

Сущности, которые в настоящее время помечены как помеченные как Added будут помечены как Detached добавленные, указывают на то, что сущность не была сохранена в базе данных и поэтому не имеет смысла пытаться удалить ее из базы данных.

ToBindingList()

Возвращает реализацию, которая остается синхронизированной BindingList<T> с этой коллекцией. Используйте его для привязки данных WinForms.

ToObservableCollection()

Возвращает реализацию, которая остается синхронизированной ObservableCollection<T> с этой коллекцией. Используйте его для привязки данных WPF.

События

CollectionChanged

Происходит при изменении содержимого коллекции либо из-за того, что сущность была непосредственно добавлена или удалена из коллекции, либо из-за того, что сущность начинает отслеживаться, либо так как сущность помечается как удаленная.

PropertyChanged

Происходит при изменении свойства данной коллекции (например Count, ).

PropertyChanging

Происходит при изменении свойства данной коллекции (например Count, ).

Явные реализации интерфейса

IEnumerable.GetEnumerator()

IEnumerator<T> Возвращает все отслеживаемые сущности типа TEntity, которые не помечены как удаленные.

IListSource.ContainsListCollection

Возвращает значение, указывающее, является ли коллекция коллекцией объектов System.Collections.IList. Всегда возвращает значение false.

IListSource.GetList()

Этот метод вызывается платформами привязки данных при попытке привязки данных напрямую к объекту LocalView<TEntity>.

Эта реализация всегда создает исключение, так как LocalView<TEntity> не поддерживает упорядоченный список с индексами. Вместо этого вызов привязки ToObservableCollection() WPF или ToBindingList() winForms.

Применяется к