Sprache

ValueComparer<T> Klasse

Definition

Gibt benutzerdefinierte Wertmomentaufnahmen und Vergleiche für CLR-Typen an, die beim Erstellen einer Momentaufnahme nicht mit und/oder eine tiefe Kopie verglichen Equals(Object, Object) werden können. Arrays von Grundtypen erfordern z. B. beide, wenn Mutation erkannt werden soll.

[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)

Typparameter

T

Der Typ.

Vererbung
ValueComparer<T>
Abgeleitet
Attribute
Implementiert

Hinweise

Snapshotting ist der Prozess zum Erstellen einer Kopie des Werts in einer Momentaufnahme, sodass sie später verglichen werden kann, um festzustellen, ob sie geändert wurde. Bei einigen Typen, z. B. Sammlungen, muss dies eine tiefe Kopie der Auflistung sein, anstatt nur eine flache Kopie des Verweises.

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

Konstruktoren

Name Beschreibung
ValueComparer<T>(Boolean)

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

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

Erstellt ein neues ValueComparer<T> mit den angegebenen Vergleichs- und Momentaufnahmeausdrücken.

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

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

Eigenschaften

Name Beschreibung
ConstructorExpression

Der Ausdruck, der die Konstruktion dieses Objekts darstellt.

Default

Die Standardeinstellung ValueComparer<T> für T, die eine flache Kopie für Momentaufnahmen verwendet und nicht bevorzugt IStructuralEquatable.

DefaultWithStructuralComparisons

Die Standardeinstellung ValueComparer<T> für T, die IStructuralEquatable beim Implementieren des Typs bevorzugt wird. Dies wird in der Regel verwendet, wenn Bytearrays als Schlüssel fungieren.

EqualsExpression

Der Vergleichsausdruck.

HashCodeExpression

Der Hashcodeausdruck.

ObjectEqualsExpression

Der Objektvergleichsausdruck.

SnapshotExpression

Der Momentaufnahmeausdruck.

Type

Der Typ.

Methoden

Name Beschreibung
CreateDefaultEqualsExpression()

Erstellt einen Ausdruck für Gleichheit.

CreateDefaultHashCodeExpression(Boolean)

Erstellt einen Ausdruck zum Generieren eines Hashcodes.

CreateDefaultSnapshotExpression(Boolean)

Erstellt einen Ausdruck zum Erstellen einer Momentaufnahme eines Werts.

Equals(Object, Object)

Vergleicht die beiden Instanzen, um festzustellen, ob sie gleich sind.

Equals(T, T)

Vergleicht die beiden Instanzen, um festzustellen, ob sie gleich sind.

ExtractEqualsBody(Expression, Expression)

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

(Geerbt von ValueComparer)
ExtractHashCodeBody(Expression)

Verwendet den HashCodeExpression Parameter und ersetzt den Parameter durch den angegebenen Ausdruck und gibt den transformierten Text zurück.

(Geerbt von ValueComparer)
ExtractSnapshotBody(Expression)

Verwendet den SnapshotExpression Parameter 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 die angegebene Instanz zurück.

GetHashCode(T)

Gibt den Hashcode für die angegebene Instanz zurück.

Snapshot(Object)

Erstellt eine Momentaufnahme der angegebenen Instanz.

Snapshot(T)

Erstellt eine Momentaufnahme der angegebenen Instanz.

Erweiterungsmethoden

Name Beschreibung
IsDefault(ValueComparer)

Gibt zurück true , wenn es sich bei der angegebenen ValueComparer Datei um eine standardmäßige EF Core-Implementierung handelt.

Gilt für: