Поделиться через


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, если она не была ранее в состоянии Добавлена. В этом случае она будет отсоединяться от контекста.

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

Не используйте этот тип напрямую для привязки данных. Вместо этого вызовите ToObservableCollection() для привязки WPF или ToBindingList() для WinForms.

Дополнительные сведения и примеры см. в разделе Локальные представления отслеживаемых сущностей в 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помощью .

Contains(TEntity)

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

CopyTo(TEntity[], Int32)

Копирует в массив все сущности типа 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()

Сбрасывает это представление, очищая все IBindingList созданные с ToBindingList() помощью и ObservableCollection<T> созданные с помощью ToObservableCollection(), а также очищает все события, зарегистрированные в PropertyChanged, PropertyChangingили CollectionChanged.

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>.

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