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 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
- 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 |
Aplica-se a
Entity Framework