ValueComparer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定无法与 Equals(Object, Object) /或创建快照时需要深度/结构副本进行比较的 CLR 类型的自定义值快照和比较。 例如,如果检测到突变,基元类型的数组将需要这两种类型。
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ValueComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer
public abstract class ValueComparer : System.Collections.IEqualityComparer
public abstract class ValueComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer
[<System.Runtime.CompilerServices.Nullable(0)>]
type ValueComparer = class
interface IEqualityComparer
interface IEqualityComparer<obj>
type ValueComparer = class
interface IEqualityComparer
type ValueComparer = class
interface IEqualityComparer
interface IEqualityComparer<obj>
Public MustInherit Class ValueComparer
Implements IEqualityComparer, IEqualityComparer(Of Object)
Public MustInherit Class ValueComparer
Implements IEqualityComparer
- 继承
-
ValueComparer
- 派生
- 特性
- 实现
注解
快照是将值的副本创建到快照中的过程,以便稍后可以进行比较以确定该值是否已更改。 对于某些类型(例如集合),这需要是集合的深层副本,而不仅仅是引用的浅表副本。
有关详细信息和示例,请参阅 EF Core 值比较器 。
构造函数
| 名称 | 说明 |
|---|---|
| ValueComparer(LambdaExpression, LambdaExpression, LambdaExpression) |
ValueComparer使用给定的比较和快照表达式创建新的表达式。 |
字段
| 名称 | 说明 |
|---|---|
| BoolIdentity |
这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。 |
| HashCodeAddMethod |
这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。 |
| ToHashCodeMethod |
这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。 |
属性
| 名称 | 说明 |
|---|---|
| ConstructorExpression |
表示此对象的构造的表达式。 |
| EqualsExpression |
比较表达式。 |
| HashCodeExpression |
哈希代码表达式。 |
| ObjectEqualsExpression |
对象比较表达式。 |
| SnapshotExpression |
快照表达式。 |
| Type |
类型。 |
方法
| 名称 | 说明 |
|---|---|
| Add(HashCode, Int32) |
这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 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获取参数并将其替换为给定表达式,并返回转换后的正文。 |
| GetGenericSnapshotMethod(Type) |
这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。 |
| GetHashCode(Object) |
返回给定实例的哈希代码。 |
| Snapshot(Object) |
创建给定实例的快照。 |
扩展方法
| 名称 | 说明 |
|---|---|
| IsDefault(ValueComparer) |
如果给定ValueComparer是默认的 EF Core 实现,则返回 |