Partilhar via


ValueComparer 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/estrutural ao fazer uma instantâneo. Por exemplo, matrizes de tipos primitivos exigirão ambos se a mutação for detectada.

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)
Herança
ValueComparer
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(LambdaExpression, LambdaExpression, LambdaExpression)

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

Campos

BoolIdentity

Essa é uma API interna que dá suporte à infraestrutura do Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão do Entity Framework Core.

HashCodeAddMethod

Essa é uma API interna que dá suporte à infraestrutura do Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão do Entity Framework Core.

ToHashCodeMethod

Essa é uma API interna que dá suporte à infraestrutura do Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão do Entity Framework Core.

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

Add(HashCode, Int32)

Essa é uma API interna que dá suporte à infraestrutura do Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão do Entity Framework Core.

CreateDefault(Type, Boolean)

Cria um padrão ValueComparer<T> para o tipo fornecido.

CreateDefault<T>(Boolean)

Cria um padrão ValueComparer<T> para o tipo fornecido.

Equals(Object, Object)

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.

ExtractHashCodeBody(Expression)

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

ExtractSnapshotBody(Expression)

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

GetHashCode(Object)

Retorna o código hash para a instância fornecida.

Snapshot(Object)

Cria um instantâneo da instância fornecida.

Métodos de Extensão

IsDefault(ValueComparer)

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

Aplica-se a