ValueComparer<T> Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica o instantâneo de valor personalizado e a comparação para tipos CLR que não podem ser comparados Equals(Object, Object) com e/ou precisam de uma cópia profunda 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 class ValueComparer<T> : Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer, System.Collections.Generic.IEqualityComparer<T>
public class ValueComparer<T> : Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer, System.Collections.Generic.IEqualityComparer<T>
[<System.Runtime.CompilerServices.Nullable(0)>]
type ValueComparer<'T> = class
inherit ValueComparer
interface 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
- 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<T>(Boolean) |
Cria uma nova 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>>, Expression<Func<T,T>>) |
Cria um novo ValueComparer<T> com as expressões de comparação e instantâneo fornecidas. |
| 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. |
Propriedades
| Nome | Descrição |
|---|---|
| ConstructorExpression |
A expressão que representa a construção deste objeto. |
| Default |
O padrão ValueComparer<T> para |
| DefaultWithStructuralComparisons |
O padrão ValueComparer<T> para |
| 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 |
|---|---|
| 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 fornecida. |
| GetHashCode(T) |
Retorna o código hash da instância fornecida. |
| Snapshot(Object) |
Cria um instantâneo da instância fornecida. |
| Snapshot(T) |
Cria um instantâneo da instância fornecida. |
Métodos de Extensão
| Nome | Descrição |
|---|---|
| IsDefault(ValueComparer) |
Retorna |