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

正在跟踪且未标记为“已删除”的 TEntity 类型的实体数。

IsReadOnly

False,因为集合不是只读的。

方法

Add(TEntity)

向 添加新实体 DbContext。 如果实体未被跟踪或当前标记为已删除,则它将被跟踪为 Added

Clear()

将 跟踪 DbContext 的 TEntity 类型的所有实体标记为 Deleted

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和使用 创建ToObservableCollection()的任何ObservableCollection<T>事件,并清除在 、 PropertyChangingCollectionChangedPropertyChanged注册的任何事件。ToBindingList()

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>绑定到 时,数据绑定框架会调用此方法。

适用于