Sdílet prostřednictvím


ValueComparer Třída

Definice

Určuje vytváření snímků a porovnání vlastních hodnot pro typy CLR, které nelze porovnat s Equals(Object, Object) a/nebo vyžadují hloubkovou nebo strukturální 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 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)
Dědičnost
ValueComparer
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(LambdaExpression, LambdaExpression, LambdaExpression)

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

Pole

BoolIdentity

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

HashCodeAddMethod

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

ToHashCodeMethod

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

Vlastnosti

EqualsExpression

Výraz porovnání.

HashCodeExpression

Výraz hash kódu.

SnapshotExpression

Výraz snapshot.

Type

Typ

Metody

Add(HashCode, Int32)

Toto je interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez předchozího upozornění v jakékoli verzi. Měli byste ho používat přímo v kódu pouze s extrémní opatrností a s vědomím, že to může vést k selhání aplikací při aktualizaci na novou verzi Entity Framework Core.

CreateDefault(Type, Boolean)

Vytvoří výchozí hodnotu ValueComparer<T> pro daný typ.

CreateDefault<T>(Boolean)

Vytvoří výchozí hodnotu ValueComparer<T> pro daný typ.

Equals(Object, Object)

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.

ExtractHashCodeBody(Expression)

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

ExtractSnapshotBody(Expression)

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

GetHashCode(Object)

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

Snapshot(Object)

Vytvoří snímek dané instance.

Metody rozšíření

IsDefault(ValueComparer)

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

Platí pro