Partilhar via


ValueComparer<T> Classe

Definição

Especifica o instantâneo de valor personalizado e a comparação para tipos CLR que não podem ser comparados com Equals(Object, Object) e/ou precisam de uma cópia profunda ao fazer uma instantâneo. Por exemplo, matrizes de tipos primitivos exigirão ambos se a mutação for detectada.

public class ValueComparer<T> : Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer, System.Collections.Generic.IEqualityComparer<T>
type ValueComparer<'T> = class
    inherit ValueComparer
    interface IEqualityComparer<'T>
Public Class ValueComparer(Of T)
Inherits ValueComparer
Implements IEqualityComparer(Of T)

Parâmetros de tipo

T

O tipo.

Herança
ValueComparer<T>
Derivado
Implementações

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.

Consulte Comparadores de valor do EF Core para obter mais informações e exemplos.

Construtores

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.

Propriedades

EqualsExpression

A expressão de comparação.

HashCodeExpression

A expressão de código hash.

SnapshotExpression

A expressão instantâneo.

Type

O tipo.

Métodos

CreateDefaultEqualsExpression()

Cria uma expressão para igualdade.

CreateDefaultHashCodeExpression(Boolean)

Cria uma expressão para gerar um código hash.

CreateDefaultSnapshotExpression(Boolean)

Cria uma expressão para criar um instantâneo de um valor.

Equals(Object, Object)

Compara as duas instâncias para determinar se elas são iguais.

Equals(T, T)

Compara as duas instâncias para determinar se elas são iguais.

ExtractEqualsBody(Expression, Expression)

Usa EqualsExpression e substitui os dois parâmetros pelas expressões fornecidas, retornando o corpo transformado.

(Herdado de ValueComparer)
ExtractHashCodeBody(Expression)

Usa e HashCodeExpression substitui o parâmetro pela expressão fornecida, retornando o corpo transformado.

(Herdado de ValueComparer)
ExtractSnapshotBody(Expression)

Usa e SnapshotExpression substitui o parâmetro pela expressão fornecida, retornando o corpo transformado.

(Herdado de ValueComparer)
GetHashCode(Object)

Retorna o código hash da instância especificada.

GetHashCode(T)

Retorna o código hash da instância especificada.

Snapshot(Object)

Cria um instantâneo da instância especificada.

Snapshot(T)

Cria um instantâneo da instância especificada.

Métodos de Extensão

IsDefault(ValueComparer)

Retorna true se o determinado ValueComparer for uma implementação padrão do EF Core.

Aplica-se a