Freigeben über


ValueComparer Klasse

Definition

Gibt die benutzerdefinierte Wertmomentaufnahme und einen Vergleich für CLR-Typen an, die nicht mit Equals(Object, Object) und/oder bei einer Momentaufnahme eine tiefgehende/strukturelle Kopie erforderlich sind. Arrays von primitiven Typen benötigen beispielsweise beides, wenn eine Mutation erkannt werden soll.

public abstract class ValueComparer : System.Collections.IEqualityComparer
public abstract class ValueComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer
type ValueComparer = class
    interface IEqualityComparer
type ValueComparer = class
    interface IEqualityComparer
    interface IEqualityComparer<obj>
Public MustInherit Class ValueComparer
Implements IEqualityComparer
Public MustInherit Class ValueComparer
Implements IEqualityComparer, IEqualityComparer(Of Object)
Vererbung
ValueComparer
Abgeleitet
Implementiert

Hinweise

Bei der Momentaufnahme wird eine Kopie des Werts in eine Momentaufnahme erstellt, sodass sie später verglichen werden kann, um festzustellen, ob er sich geändert hat. Bei einigen Typen, z. B. Auflistungen, muss dies eine tiefe Kopie der Auflistung sein und nicht nur eine flache Kopie des Verweises.

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

Konstruktoren

ValueComparer(LambdaExpression, LambdaExpression, LambdaExpression)

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

Felder

BoolIdentity

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

HashCodeAddMethod

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

ToHashCodeMethod

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

Eigenschaften

EqualsExpression

Der Vergleichsausdruck.

HashCodeExpression

Der Hashcodeausdruck.

SnapshotExpression

Der Momentaufnahme Ausdruck.

Type

Der Typ.

Methoden

Add(HashCode, Int32)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

CreateDefault(Type, Boolean)

Erstellt einen Standardwert ValueComparer<T> für den angegebenen Typ.

CreateDefault<T>(Boolean)

Erstellt einen Standardwert ValueComparer<T> für den angegebenen Typ.

Equals(Object, Object)

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.

ExtractHashCodeBody(Expression)

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

ExtractSnapshotBody(Expression)

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

GetHashCode(Object)

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

Snapshot(Object)

Erstellt eine Momentaufnahme der angegebenen instance.

Erweiterungsmethoden

IsDefault(ValueComparer)

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

Gilt für: