Compartir a través de


ValueComparer<T> Clase

Definición

Especifica la instantánea y comparación de valores personalizados para los tipos CLR que no se pueden comparar con Equals(Object, Object) y/o necesitan una copia profunda al tomar una instantánea. Por ejemplo, las matrices de tipos primitivos requerirán ambos si se va a detectar la mutación.

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)

Parámetros de tipo

T

Tipo.

Herencia
ValueComparer<T>
Derivado
Implementaciones

Comentarios

La creación de instantáneas es el proceso de crear una copia del valor en una instantánea para que se pueda comparar más adelante para determinar si ha cambiado. Para algunos tipos, como las colecciones, debe ser una copia profunda de la colección en lugar de simplemente una copia superficial de la referencia.

Consulte Comparadores de valores de EF Core para obtener más información y ejemplos.

Constructores

ValueComparer<T>(Boolean)

Crea un nuevo ValueComparer<T> objeto con una expresión de comparación predeterminada y una copia superficial para la instantánea.

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

Crea un objeto con ValueComparer<T> la expresión de comparación especificada. Se usará una copia superficial para la instantánea.

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

Crea un nuevo ValueComparer<T> objeto con las expresiones de comparación e instantáneas especificadas.

Propiedades

EqualsExpression

Expresión de comparación.

HashCodeExpression

Expresión de código hash.

SnapshotExpression

Expresión de instantánea.

Type

Tipo.

Métodos

CreateDefaultEqualsExpression()

Crea una expresión para la igualdad.

CreateDefaultHashCodeExpression(Boolean)

Crea una expresión para generar un código hash.

CreateDefaultSnapshotExpression(Boolean)

Crea una expresión para crear una instantánea de un valor.

Equals(Object, Object)

Compara las dos instancias para determinar si son iguales.

Equals(T, T)

Compara las dos instancias para determinar si son iguales.

ExtractEqualsBody(Expression, Expression)

Toma EqualsExpression y reemplaza los dos parámetros por las expresiones especificadas y devuelve el cuerpo transformado.

(Heredado de ValueComparer)
ExtractHashCodeBody(Expression)

HashCodeExpression Toma y reemplaza el parámetro por la expresión especificada y devuelve el cuerpo transformado.

(Heredado de ValueComparer)
ExtractSnapshotBody(Expression)

SnapshotExpression Toma y reemplaza el parámetro por la expresión especificada y devuelve el cuerpo transformado.

(Heredado de ValueComparer)
GetHashCode(Object)

Devuelve el código hash de la instancia especificada.

GetHashCode(T)

Devuelve el código hash de la instancia especificada.

Snapshot(Object)

Crea una instantánea de la instancia especificada.

Snapshot(T)

Crea una instantánea de la instancia especificada.

Métodos de extensión

IsDefault(ValueComparer)

Devuelve true si el elemento especificado ValueComparer es una implementación predeterminada de EF Core.

Se aplica a