语言

EntityEntry 类

定义

提供对给定实体的更改跟踪信息和操作的访问权限。

[System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")]
[System.Runtime.CompilerServices.Nullable(0)]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")>]
[<System.Runtime.CompilerServices.Nullable(0)>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
Public Class EntityEntry
Implements IInfrastructure(Of InternalEntityEntry)
继承
EntityEntry
派生
特性
实现
IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>

注解

使用 ChangeTracker API 时,此类的实例会从方法返回,并且不会在应用程序代码中直接构造此类实例。

有关详细信息和示例,请参阅 EF Core 中的访问跟踪实体 。

构造函数

名称 说明
EntityEntry(InternalEntityEntry)

这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。

属性

名称 说明
Collections

提供对此实体的所有集合导航属性的更改跟踪信息和加载信息的访问权限。

ComplexCollections

提供对此实体上复杂类型的所有集合属性的更改跟踪信息和操作的访问权限。

ComplexProperties

提供对此实体上复杂类型的所有属性的更改跟踪信息和操作的访问权限。

Context

获取跟踪实体的上下文。

CurrentValues

获取此实体的当前属性值。

DebugView

在调试器中展开此属性以获取可读条目视图。

警告:不依赖于调试字符串的格式。 它们仅用于调试,可以在发布之间任意更改。

Entity

获取此条目正在跟踪的实体。

InternalEntry

这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。

IsKeySet

获取一个值,该值指示是否已为此实体的键值赋值。

Members

提供对此实体的所有属性和导航更改跟踪信息和操作的访问权限。

Metadata

获取有关实体形状的元数据、它与其他实体的关系,以及它如何映射到数据库。

Navigations

提供对此实体的所有导航属性的更改跟踪信息和操作的访问权限。

OriginalValues

获取此实体的原始属性值。 原始值是从数据库中检索实体时的属性值。

Properties

提供对此实体的所有属性的更改跟踪信息和操作的访问权限。

References

提供对此实体的所有引用(即非集合)导航属性的更改跟踪信息和加载信息的访问权限。

State

获取或设置要在其中跟踪此实体的状态。

方法

名称 说明
Collection(INavigationBase)

提供对集合导航的更改跟踪和加载信息的访问权限,该信息将此实体关联到另一个实体的集合中。

Collection(String)

提供对集合导航的更改跟踪和加载信息的访问权限,该信息将此实体关联到另一个实体的集合中。

ComplexCollection(IComplexProperty)

提供对此实体上复杂类型的给定集合属性的更改跟踪信息和操作的访问权限。

ComplexCollection(String)

提供对此实体上复杂类型的给定集合属性的更改跟踪信息和操作的访问权限。

ComplexProperty(IComplexProperty)

提供对此实体上复杂类型的给定属性的更改跟踪信息和操作的访问权限。

ComplexProperty(String)

提供对此实体上复杂类型的给定属性的更改跟踪信息和操作的访问权限。

DetectChanges()

扫描此实体实例以检测对实例数据所做的任何更改。 DetectChanges() 通常由上下文自动调用,以在返回更改跟踪信息之前获取单个实体的 up-to日期信息。 如果禁用 AutoDetectChangesEnabled了此方法,通常只需调用此方法。

GetDatabaseValues()

查询数据库,了解跟踪实体的值的副本,因为它们当前存在于数据库中。 如果在数据库中找不到该实体,则 null 返回该实体。

GetDatabaseValuesAsync(CancellationToken)

查询数据库,了解跟踪实体的值的副本,因为它们当前存在于数据库中。 如果在数据库中找不到该实体,则返回 null。

Member(IPropertyBase)

提供对给定属性或此实体导航的更改跟踪信息和操作的访问权限。

Member(String)

提供对给定属性或此实体导航的更改跟踪信息和操作的访问权限。

Navigation(INavigationBase)

提供对此实体的给定导航的更改跟踪信息和操作的访问权限。

Navigation(String)

提供对此实体的给定导航的更改跟踪信息和操作的访问权限。

Property(IProperty)

提供对此实体的给定属性的更改跟踪信息和操作的访问权限。

Property(String)

提供对此实体的给定属性的更改跟踪信息和操作的访问权限。

Reference(INavigationBase)

提供对引用(即非集合)导航的更改跟踪和加载信息的访问权限,该导航将此实体关联到另一个实体。

Reference(String)

提供对引用(即非集合)导航的更改跟踪和加载信息的访问权限,该导航将此实体关联到另一个实体。

Reload()

从数据库重新加载实体,覆盖包含数据库中值的任何属性值。

ReloadAsync(CancellationToken)

从数据库重新加载实体,覆盖包含数据库中值的任何属性值。

显式接口实现

名称 说明
IInfrastructure<InternalEntityEntry>.Instance

这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。

扩展方法

名称 说明
GetInfrastructure<T>(IInfrastructure<T>)

从正在使用的隐藏 IInfrastructure<T>属性中获取值。

此方法通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。

适用于