ValueComparer<T> 构造函数

定义

重载

ValueComparer<T>(Boolean)

ValueComparer<T>使用默认比较表达式和浅表副本为快照创建新的 。

ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>)

ValueComparer<T>使用给定的比较表达式创建新的 。 浅表副本将用于快照。

ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>, Expression<Func<T,T>>)

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

ValueComparer<T>(Boolean)

ValueComparer<T>使用默认比较表达式和浅表副本为快照创建新的 。

public ValueComparer (bool favorStructuralComparisons);
new Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T> : bool -> Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T>
Public Sub New (favorStructuralComparisons As Boolean)

参数

favorStructuralComparisons
Boolean

如果 true为 ,则如果类型实现,EF 将使用 IStructuralEquatable 。 这通常在字节数组充当键时使用。

适用于

ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>)

ValueComparer<T>使用给定的比较表达式创建新的 。 浅表副本将用于快照。

public ValueComparer (System.Linq.Expressions.Expression<Func<T,T,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression);
public ValueComparer (System.Linq.Expressions.Expression<Func<T?,T?,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression);
new Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T> : System.Linq.Expressions.Expression<Func<'T, 'T, bool>> * System.Linq.Expressions.Expression<Func<'T, int>> -> Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T>
Public Sub New (equalsExpression As Expression(Of Func(Of T, T, Boolean)), hashCodeExpression As Expression(Of Func(Of T, Integer)))

参数

equalsExpression
Expression<Func<T,T,Boolean>>

比较表达式。

hashCodeExpression
Expression<Func<T,Int32>>

关联的哈希代码生成器。

适用于

ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>, Expression<Func<T,T>>)

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

public ValueComparer (System.Linq.Expressions.Expression<Func<T,T,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression, System.Linq.Expressions.Expression<Func<T,T>> snapshotExpression);
public ValueComparer (System.Linq.Expressions.Expression<Func<T?,T?,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression, System.Linq.Expressions.Expression<Func<T,T>> snapshotExpression);
new Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T> : System.Linq.Expressions.Expression<Func<'T, 'T, bool>> * System.Linq.Expressions.Expression<Func<'T, int>> * System.Linq.Expressions.Expression<Func<'T, 'T>> -> Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T>
Public Sub New (equalsExpression As Expression(Of Func(Of T, T, Boolean)), hashCodeExpression As Expression(Of Func(Of T, Integer)), snapshotExpression As Expression(Of Func(Of T, T)))

参数

equalsExpression
Expression<Func<T,T,Boolean>>

比较表达式。

hashCodeExpression
Expression<Func<T,Int32>>

关联的哈希代码生成器。

snapshotExpression
Expression<Func<T,T>>

快照表达式。

注解

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

适用于