Freigeben über


ValueComparer<T> Klasse

Definition

Gibt benutzerdefinierte Wertmomentaufnahmen und Vergleiche für CLR-Typen an, die nicht mit Equals(Object, Object) einer tiefen Kopie verglichen werden können und/oder eine tiefgehende Kopie benötigen, wenn ein Momentaufnahme. Arrays von primitiven Typen benötigen beispielsweise beides, wenn Mutationen erkannt werden sollen.

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)

Typparameter

T

Der Typ.

Vererbung
ValueComparer<T>
Abgeleitet
Implementiert

Hinweise

Die Momentaufnahme ist der Prozess zum Erstellen einer Kopie des Werts in einem Momentaufnahme, damit sie später verglichen werden kann, um festzustellen, ob er sich geändert hat. Bei einigen Typen, z. B. Sammlungen, muss es sich um eine tiefgehende Kopie der Auflistung handeln und nicht nur um eine flache Kopie des Verweises.

Weitere Informationen und Beispiele finden Sie unter EF Core-Wertvergleiche .

Konstruktoren

ValueComparer<T>(Boolean)

Erstellt eine neue ValueComparer<T> mit einem Standardvergleichsausdruck und einer flachen Kopie für die Momentaufnahme.

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

Erstellt eine neue ValueComparer<T> mit dem angegebenen Vergleichsausdruck. Für die Momentaufnahme wird eine flache Kopie verwendet.

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

Erstellt eine neue ValueComparer<T> mit den angegebenen Vergleichs- und Momentaufnahmeausdrücken.

Eigenschaften

EqualsExpression

Der Vergleichsausdruck.

HashCodeExpression

Der Hashcodeausdruck.

SnapshotExpression

Der Momentaufnahme Ausdruck.

Type

Der Typ.

Methoden

CreateDefaultEqualsExpression()

Erstellt einen Ausdruck für Gleichheit.

CreateDefaultHashCodeExpression(Boolean)

Erstellt einen Ausdruck zum Generieren eines Hashcodes.

CreateDefaultSnapshotExpression(Boolean)

Erstellt einen Ausdruck zum Erstellen eines Momentaufnahme eines Werts.

Equals(Object, Object)

Vergleicht die beiden Instanzen, um zu ermitteln, ob sie gleich sind.

Equals(T, T)

Vergleicht die beiden Instanzen, um zu ermitteln, ob sie gleich sind.

ExtractEqualsBody(Expression, Expression)

Übernimmt EqualsExpression und ersetzt die beiden Parameter durch die angegebenen Ausdrücke und gibt den transformierten Text zurück.

(Geerbt von ValueComparer)
ExtractHashCodeBody(Expression)

Übernimmt den HashCodeExpression und ersetzt den Parameter durch den angegebenen Ausdruck, und gibt den transformierten Text zurück.

(Geerbt von ValueComparer)
ExtractSnapshotBody(Expression)

Übernimmt den SnapshotExpression und ersetzt den Parameter durch den angegebenen Ausdruck, und gibt den transformierten Text zurück.

(Geerbt von ValueComparer)
GetHashCode(Object)

Gibt den Hashcode für den angegebenen instance zurück.

GetHashCode(T)

Gibt den Hashcode für den angegebenen instance zurück.

Snapshot(Object)

Erstellt eine Momentaufnahme des angegebenen instance.

Snapshot(T)

Erstellt eine Momentaufnahme des angegebenen instance.

Erweiterungsmethoden

IsDefault(ValueComparer)

Gibt zurück true , wenn die angegebene ValueComparer eine EF Core-Standardimplementierung ist.

Gilt für: