Język

ValueComparer<T> Klasa

Definicja

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

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

Parametry typu

T

Typ.

Dziedziczenie
ValueComparer<T>
Pochodne
Atrybuty
Implementuje

Uwagi

Migawka to proces tworzenia kopii wartości do migawki, dzięki czemu można ją później porównać w celu 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.

Aby uzyskać więcej informacji i przykładów, zobacz Porównanie wartości platformy EF Core .

Konstruktory

Nazwisko Opis
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>>, Expression<Func<T,T>>)

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

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

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

Właściwości

Nazwisko Opis
ConstructorExpression

Wyrażenie reprezentujące konstrukcję tego obiektu.

Default

Wartość domyślna ValueComparer<T> dla T, używając płytkiej kopii dla migawek, a nie faworyzowania elementu IStructuralEquatable.

DefaultWithStructuralComparisons

Wartość domyślna ValueComparer<T> dla Telementu , faworyzowanie IStructuralEquatable , gdy typ go implementuje. Jest to zwykle używane, gdy tablice bajtów działają jako klucze.

EqualsExpression

Wyrażenie porównania.

HashCodeExpression

Wyrażenie kodu skrótu.

ObjectEqualsExpression

Wyrażenie porównania obiektów.

SnapshotExpression

Wyrażenie migawki.

Type

Typ.

Metody

Nazwisko Opis
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 zamienia dwa parametry na podane wyrażenia, zwracając przekształconą treść.

(Odziedziczone po ValueComparer)
ExtractHashCodeBody(Expression)

HashCodeExpression Pobiera i zamienia parametr na podane wyrażenie, zwracając przekształconą treść.

(Odziedziczone po ValueComparer)
ExtractSnapshotBody(Expression)

SnapshotExpression Pobiera i zamienia parametr na podane wyrażenie, 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.

Snapshot(T)

Tworzy migawkę danego wystąpienia.

Metody rozszerzania

Nazwisko Opis
IsDefault(ValueComparer)

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

Dotyczy