Idioma

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 tirar um instantâneo. Por exemplo, matrizes de tipos primitivos exigirão ambos se a mutação for detectada.

[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
Herança
ValueComparer
Derivado
Atributos
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 os comparadores de valor do EF Core para obter mais informações e exemplos.

Construtores

Nome Descrição
ValueComparer(LambdaExpression, LambdaExpression, LambdaExpression)

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

Campos

Nome Descrição
BoolIdentity

Essa é uma API interna que dá suporte à infraestrutura de 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 Entity Framework Core.

HashCodeAddMethod

Essa é uma API interna que dá suporte à infraestrutura de 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 Entity Framework Core.

ToHashCodeMethod

Essa é uma API interna que dá suporte à infraestrutura de 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 Entity Framework Core.

Propriedades

Nome Descrição
ConstructorExpression

A expressão que representa a construção deste objeto.

EqualsExpression

A expressão de comparação.

HashCodeExpression

A expressão de código hash.

ObjectEqualsExpression

A expressão de comparação de objeto.

SnapshotExpression

A expressão de instantâneo.

Type

O tipo.

Métodos

Nome Descrição
Add(HashCode, Int32)

Essa é uma API interna que dá suporte à infraestrutura de 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 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.

GetGenericSnapshotMethod(Type)

Essa é uma API interna que dá suporte à infraestrutura de 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 Entity Framework Core.

GetHashCode(Object)

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

Snapshot(Object)

Cria um instantâneo da instância fornecida.

Métodos de Extensão

Nome Descrição
IsDefault(ValueComparer)

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

Aplica-se a