Compartilhar via


ValueComparer<T> Construtores

Definição

Sobrecargas

ValueComparer<T>(Boolean)

Cria um novo ValueComparer<T> com uma expressão de comparação padrão e uma cópia superficial para o instantâneo.

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

Cria um novo ValueComparer<T> com a expressão de comparação fornecida. Uma cópia superficial será usada para o instantâneo.

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

Cria um novo ValueComparer<T> com as expressões de comparação e instantâneo fornecidas.

ValueComparer<T>(Boolean)

Cria um novo ValueComparer<T> com uma expressão de comparação padrão e uma cópia superficial para o instantâneo.

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

Parâmetros

favorStructuralComparisons
Boolean

Se true, o EF usará IStructuralEquatable se o tipo o implementar. Isso geralmente é usado quando matrizes de bytes atuam como chaves.

Aplica-se a

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

Cria um novo ValueComparer<T> com a expressão de comparação fornecida. Uma cópia superficial será usada para o instantâneo.

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)))

Parâmetros

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

A expressão de comparação.

hashCodeExpression
Expression<Func<T,Int32>>

O gerador de código hash associado.

Aplica-se a

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

Cria um novo ValueComparer<T> com as expressões de comparação e instantâneo fornecidas.

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)))

Parâmetros

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

A expressão de comparação.

hashCodeExpression
Expression<Func<T,Int32>>

O gerador de código hash associado.

snapshotExpression
Expression<Func<T,T>>

A expressão instantâneo.

Comentários

O instantâneo é o processo de criação de uma cópia do valor em um instantâneo para que ele possa ser comparado posteriormente para determinar se ele foi alterado. Para alguns tipos, como coleções, isso precisa ser uma cópia profunda da coleção em vez de apenas uma cópia superficial da referência.

Aplica-se a