Lingua

ValueComparer<T> Classe

Definizione

Specifica la creazione di snapshot e il confronto di valori personalizzati per i tipi CLR che non possono essere confrontati con Equals(Object, Object) e/o richiedono una copia completa durante la creazione di uno snapshot. Ad esempio, le matrici di tipi primitivi richiedono che entrambe le mutazioni vengano rilevate.

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

Parametri di tipo

T

Tipo.

Ereditarietà
ValueComparer<T>
Derivato
Attributi
Implementazioni

Commenti

La creazione di snapshot è il processo di creazione di una copia del valore in uno snapshot in modo che possa essere confrontata in un secondo momento per determinare se è stata modificata. Per alcuni tipi, ad esempio le raccolte, questa operazione deve essere una copia completa della raccolta anziché semplicemente una copia superficiale del riferimento.

Per altre informazioni ed esempi, vedere confronto dei valori di EF Core .

Costruttori

Nome Descrizione
ValueComparer<T>(Boolean)

Crea un nuovo ValueComparer<T> oggetto con un'espressione di confronto predefinita e una copia superficiale per lo snapshot.

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

Crea un nuovo ValueComparer<T> oggetto con le espressioni di confronto e snapshot specificati.

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

Crea un nuovo ValueComparer<T> oggetto con l'espressione di confronto specificata. Verrà usata una copia superficiale per lo snapshot.

Proprietà

Nome Descrizione
ConstructorExpression

Espressione che rappresenta la costruzione di questo oggetto.

Default

Impostazione predefinita ValueComparer<T> per T, usando una copia superficiale per gli snapshot e non privilegiando IStructuralEquatable.

DefaultWithStructuralComparisons

Impostazione predefinita ValueComparer<T> per T, che IStructuralEquatable favorisce quando il tipo lo implementa. Questo viene in genere usato quando le matrici di byte fungono da chiavi.

EqualsExpression

Espressione di confronto.

HashCodeExpression

Espressione di codice hash.

ObjectEqualsExpression

Espressione di confronto dell'oggetto.

SnapshotExpression

Espressione snapshot.

Type

Tipo.

Metodi

Nome Descrizione
CreateDefaultEqualsExpression()

Crea un'espressione per l'uguaglianza.

CreateDefaultHashCodeExpression(Boolean)

Crea un'espressione per la generazione di un codice hash.

CreateDefaultSnapshotExpression(Boolean)

Crea un'espressione per la creazione di uno snapshot di un valore.

Equals(Object, Object)

Confronta le due istanze per determinare se sono uguali.

Equals(T, T)

Confronta le due istanze per determinare se sono uguali.

ExtractEqualsBody(Expression, Expression)

Accetta EqualsExpression e sostituisce i due parametri con le espressioni indicate, restituendo il corpo trasformato.

(Ereditato da ValueComparer)
ExtractHashCodeBody(Expression)

HashCodeExpression Accetta e sostituisce il parametro con l'espressione specificata, restituendo il corpo trasformato.

(Ereditato da ValueComparer)
ExtractSnapshotBody(Expression)

SnapshotExpression Accetta e sostituisce il parametro con l'espressione specificata, restituendo il corpo trasformato.

(Ereditato da ValueComparer)
GetHashCode(Object)

Restituisce il codice hash per l'istanza specificata.

GetHashCode(T)

Restituisce il codice hash per l'istanza specificata.

Snapshot(Object)

Crea uno snapshot dell'istanza specificata.

Snapshot(T)

Crea uno snapshot dell'istanza specificata.

Metodi di estensione

Nome Descrizione
IsDefault(ValueComparer)

Restituisce true se l'oggetto specificato ValueComparer è un'implementazione predefinita di EF Core.

Si applica a