ValueComparer 类

定义

为在获取快照时无法与Equals(Object, Object)和/或需要深度/结构副本进行比较的 CLR 类型指定自定义值快照和比较。 例如,如果要检测突变,则基元类型的数组需要这两者。

public abstract class ValueComparer : System.Collections.IEqualityComparer
public abstract class ValueComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer
type ValueComparer = class
    interface IEqualityComparer
type ValueComparer = class
    interface IEqualityComparer
    interface IEqualityComparer<obj>
Public MustInherit Class ValueComparer
Implements IEqualityComparer
Public MustInherit Class ValueComparer
Implements IEqualityComparer, IEqualityComparer(Of Object)
继承
ValueComparer
派生
实现

注解

快照是将值的副本创建到快照以便稍后进行比较以确定它是否已更改的过程。 对于某些类型(例如集合),这需要是集合的深层副本,而不仅仅是引用的浅表副本。

有关详细信息和示例 ,请参阅 EF Core 值比较器

构造函数

ValueComparer(LambdaExpression, LambdaExpression, LambdaExpression)

ValueComparer使用给定的比较和快照表达式创建新的 。

字段

BoolIdentity

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

HashCodeAddMethod

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

ToHashCodeMethod

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

属性

EqualsExpression

比较表达式。

HashCodeExpression

哈希代码表达式。

SnapshotExpression

快照表达式。

Type

类型。

方法

Add(HashCode, Int32)

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

CreateDefault(Type, Boolean)

为给定类型创建默认值 ValueComparer<T>

CreateDefault<T>(Boolean)

为给定类型创建默认值 ValueComparer<T>

Equals(Object, Object)

比较两个实例以确定它们是否相等。

ExtractEqualsBody(Expression, Expression)

EqualsExpression 两个参数替换为给定的表达式,返回转换后的正文。

ExtractHashCodeBody(Expression)

HashCodeExpression采用 并将 参数替换为给定的表达式,返回转换后的主体。

ExtractSnapshotBody(Expression)

SnapshotExpression采用 并将 参数替换为给定的表达式,返回转换后的主体。

GetHashCode(Object)

返回给定实例的哈希代码。

Snapshot(Object)

创建给定实例的快照。

扩展方法

IsDefault(ValueComparer)

true如果给定ValueComparer的 是默认 EF Core 实现,则返回 。

适用于