Sprache

ValueComparer Klasse

Definition

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

[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ValueComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer
public abstract class ValueComparer : System.Collections.IEqualityComparer
public abstract class ValueComparer : System.Collections.Generic.IEqualityComparer<object>, System.Collections.IEqualityComparer
[<System.Runtime.CompilerServices.Nullable(0)>]
type ValueComparer = class
    interface IEqualityComparer
    interface IEqualityComparer<obj>
type ValueComparer = class
    interface IEqualityComparer
type ValueComparer = class
    interface IEqualityComparer
    interface IEqualityComparer<obj>
Public MustInherit Class ValueComparer
Implements IEqualityComparer, IEqualityComparer(Of Object)
Public MustInherit Class ValueComparer
Implements IEqualityComparer
Vererbung
ValueComparer
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(LambdaExpression, LambdaExpression, LambdaExpression)

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

Felder

Name Beschreibung
BoolIdentity

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version 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. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version 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. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

Eigenschaften

Name Beschreibung
ConstructorExpression

Der Ausdruck, der die Konstruktion dieses Objekts darstellt.

EqualsExpression

Der Vergleichsausdruck.

HashCodeExpression

Der Hashcodeausdruck.

ObjectEqualsExpression

Der Objektvergleichsausdruck.

SnapshotExpression

Der Momentaufnahmeausdruck.

Type

Der Typ.

Methoden

Name Beschreibung
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. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version 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 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.

ExtractHashCodeBody(Expression)

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

ExtractSnapshotBody(Expression)

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

GetGenericSnapshotMethod(Type)

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

GetHashCode(Object)

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

Snapshot(Object)

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: