Partager via


ValueComparer<T> Classe

Définition

Spécifie la capture instantanée et la comparaison de valeurs personnalisées pour les types CLR qui ne peuvent pas être comparés à Equals(Object, Object) et/ou nécessitent une copie approfondie lors de la prise d’un instantané. Par exemple, les tableaux de types primitifs nécessitent les deux si une mutation doit être détectée.

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)

Paramètres de type

T

Type.

Héritage
ValueComparer<T>
Dérivé
Implémente

Remarques

La capture instantanée est le processus de création d’une copie de la valeur dans un instantané afin qu’elle puisse être comparée ultérieurement pour déterminer si elle a changé. Pour certains types, tels que les collections, il doit s’agir d’une copie approfondie de la collection plutôt que d’une simple copie superficielle de la référence.

Pour plus d’informations et d’exemples, consultez Comparateurs de valeurs EF Core .

Constructeurs

ValueComparer<T>(Boolean)

Crée un nouveau ValueComparer<T> avec une expression de comparaison par défaut et une copie superficielle pour le instantané.

ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>)

Crée un nouveau ValueComparer<T> avec l’expression de comparaison donnée. Une copie superficielle sera utilisée pour le instantané.

ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>, Expression<Func<T,T>>)

Crée un nouveau ValueComparer<T> avec les expressions de comparaison et de capture instantanée données.

Propriétés

EqualsExpression

Expression de comparaison.

HashCodeExpression

Expression de code de hachage.

SnapshotExpression

Expression instantané.

Type

Type.

Méthodes

CreateDefaultEqualsExpression()

Crée une expression pour l’égalité.

CreateDefaultHashCodeExpression(Boolean)

Crée une expression pour générer un code de hachage.

CreateDefaultSnapshotExpression(Boolean)

Crée une expression pour créer une instantané d’une valeur.

Equals(Object, Object)

Compare les deux instances pour déterminer si elles sont égales.

Equals(T, T)

Compare les deux instances pour déterminer si elles sont égales.

ExtractEqualsBody(Expression, Expression)

Prend EqualsExpression et remplace les deux paramètres par les expressions données, en retournant le corps transformé.

(Hérité de ValueComparer)
ExtractHashCodeBody(Expression)

Prend le HashCodeExpression et remplace le paramètre par l’expression donnée, en retournant le corps transformé.

(Hérité de ValueComparer)
ExtractSnapshotBody(Expression)

Prend le SnapshotExpression et remplace le paramètre par l’expression donnée, en retournant le corps transformé.

(Hérité de ValueComparer)
GetHashCode(Object)

Retourne le code de hachage pour le instance donné.

GetHashCode(T)

Retourne le code de hachage pour le instance donné.

Snapshot(Object)

Crée une instantané du instance donné.

Snapshot(T)

Crée une instantané du instance donné.

Méthodes d’extension

IsDefault(ValueComparer)

Retourne true si le donné ValueComparer est une implémentation EF Core par défaut.

S’applique à