ValueComparer<T> Klasa

Definicja

Określa niestandardowe migawki wartości i porównanie typów CLR, których nie można porównać z Equals(Object, Object) i/lub wymaga głębokiej kopii podczas tworzenia migawki. Na przykład tablice typów pierwotnych będą wymagały obu, jeśli mutacja ma zostać wykryta.

Migawka to proces tworzenia kopii wartości do migawki, dzięki czemu można go później porównać do określenia, czy została zmieniona. W przypadku niektórych typów, takich jak kolekcje, musi to być głęboka kopia kolekcji, a nie tylko płytkia kopia odwołania.

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)

Parametry typu

T

Typ.

Dziedziczenie
ValueComparer<T>
Pochodne
Implementuje

Uwagi

Aby uzyskać więcej informacji, zobacz porównanie wartości platformy EF Core .

Konstruktory

ValueComparer<T>(Boolean)

Tworzy nowy ValueComparer<T> z domyślnym wyrażeniem porównania i płytkią kopią migawki.

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

Tworzy nowy ValueComparer<T> element z danym wyrażeniem porównania. Na potrzeby migawki zostanie użyta płytkia kopia.

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

Tworzy nowy ValueComparer<T> element z podanymi wyrażeniami porównania i migawek.

Migawka to proces tworzenia kopii wartości do migawki, dzięki czemu można go później porównać do określenia, czy została zmieniona. W przypadku niektórych typów, takich jak kolekcje, musi to być głęboka kopia kolekcji, a nie tylko płytkia kopia odwołania.

Właściwości

EqualsExpression

Wyrażenie porównania.

HashCodeExpression

Wyrażenie kodu skrótu.

SnapshotExpression

Wyrażenie migawki.

Migawka to proces tworzenia kopii wartości do migawki, dzięki czemu można go później porównać do określenia, czy została zmieniona. W przypadku niektórych typów, takich jak kolekcje, musi to być głęboka kopia kolekcji, a nie tylko płytkia kopia odwołania.

Type

Typ.

Metody

CreateDefaultEqualsExpression()

Tworzy wyrażenie równości.

CreateDefaultHashCodeExpression(Boolean)

Tworzy wyrażenie do generowania kodu skrótu.

CreateDefaultSnapshotExpression(Boolean)

Tworzy wyrażenie do tworzenia migawki wartości.

Equals(Object, Object)

Porównuje dwa wystąpienia, aby określić, czy są one równe.

Equals(T, T)

Porównuje dwa wystąpienia, aby określić, czy są one równe.

ExtractEqualsBody(Expression, Expression)

Pobiera EqualsExpression i zastępuje dwa parametry podanymi wyrażeniami, zwracając przekształconą treść.

(Odziedziczone po ValueComparer)
ExtractHashCodeBody(Expression)

Pobiera parametr HashCodeExpression i zastępuje parametr podanym wyrażeniem, zwracając przekształconą treść.

(Odziedziczone po ValueComparer)
ExtractSnapshotBody(Expression)

Pobiera parametr SnapshotExpression i zastępuje parametr podanym wyrażeniem, zwracając przekształconą treść.

(Odziedziczone po ValueComparer)
GetHashCode(Object)

Zwraca kod skrótu dla danego wystąpienia.

GetHashCode(T)

Zwraca kod skrótu dla danego wystąpienia.

Snapshot(Object)

Tworzy migawkę danego wystąpienia.

Migawka to proces tworzenia kopii wartości do migawki, dzięki czemu można go później porównać do określenia, czy została zmieniona. W przypadku niektórych typów, takich jak kolekcje, musi to być głęboka kopia kolekcji, a nie tylko płytkia kopia odwołania.

Snapshot(T)

Tworzy migawkę danego wystąpienia.

Migawka to proces tworzenia kopii wartości do migawki, dzięki czemu można go później porównać do określenia, czy została zmieniona. W przypadku niektórych typów, takich jak kolekcje, musi to być głęboka kopia kolekcji, a nie tylko płytkia kopia odwołania.

Metody rozszerzania

IsDefault(ValueComparer)

Zwraca wartość true , jeśli dana ValueComparer jest domyślną implementacją platformy EF Core.

Dotyczy