ValueComparer<T> Třída

Definice

Určuje snímkování a porovnání vlastních hodnot pro typy CLR, které nelze porovnat s Equals(Object, Object) a/nebo vyžadují hloubkovou kopii při pořizování snímku. Například pole primitivních typů budou vyžadovat obojí, pokud má být zjištěna mutaci.

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

Dědičnost
ValueComparer<T>
Odvozené
Implementuje

Poznámky

Vytváření snímků je proces vytvoření kopie hodnoty do snímku, aby bylo možné ji později porovnat a zjistit, jestli se změnila. U některých typů, jako jsou kolekce, to musí být spíše hluboká kopie kolekce než jen mělká kopie odkazu.

Další informace a příklady najdete v tématu Porovnávače hodnot EF Core .

Konstruktory

ValueComparer<T>(Boolean)

Vytvoří nový ValueComparer<T> s výchozím porovnávaným výrazem a mělkou kopií snímku.

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

Vytvoří nový ValueComparer<T> s daným porovnávaným výrazem. Pro snímek se použije mělká kopie.

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

Vytvoří nový ValueComparer<T> s danými výrazy porovnání a vytváření snímků.

Vlastnosti

EqualsExpression

Výraz porovnání.

HashCodeExpression

Výraz hash kódu.

SnapshotExpression

Výraz snapshot.

Type

Typ

Metody

CreateDefaultEqualsExpression()

Vytvoří výraz pro rovnost.

CreateDefaultHashCodeExpression(Boolean)

Vytvoří výraz pro generování hash kódu.

CreateDefaultSnapshotExpression(Boolean)

Vytvoří výraz pro vytvoření snímku hodnoty.

Equals(Object, Object)

Porovná tyto dvě instance a určí, jestli jsou si rovny.

Equals(T, T)

Porovná tyto dvě instance a určí, jestli jsou si rovny.

ExtractEqualsBody(Expression, Expression)

Vezme EqualsExpression a nahradí oba parametry zadanými výrazy a vrátí transformované tělo.

(Zděděno od ValueComparer)
ExtractHashCodeBody(Expression)

HashCodeExpression Převezme a nahradí parametr daným výrazem a vrátí transformované tělo.

(Zděděno od ValueComparer)
ExtractSnapshotBody(Expression)

SnapshotExpression Převezme a nahradí parametr daným výrazem a vrátí transformované tělo.

(Zděděno od ValueComparer)
GetHashCode(Object)

Vrátí kód hash pro danou instanci.

GetHashCode(T)

Vrátí kód hash pro danou instanci.

Snapshot(Object)

Vytvoří snímek dané instance.

Snapshot(T)

Vytvoří snímek dané instance.

Metody rozšíření

IsDefault(ValueComparer)

Vrátí, true pokud je daná výchozí ValueComparer implementace EF Core.

Platí pro