ValueComparer<T> Класс

Определение

Задает пользовательское создание моментальных снимков и сравнение значений для типов СРЕДЫ CLR, которые не могут сравниваться с Equals(Object, Object) и /или требуют глубокой копии при создании моментального снимка. Например, для массивов примитивных типов потребуется и то, и другое, если необходимо обнаружить мутацию.

Создание моментального снимка — это процесс создания копии значения в моментальный снимок, чтобы позже его можно было сравнить, чтобы определить, изменилось ли оно. Для некоторых типов, таких как коллекции, это должна быть глубокая копия коллекции, а не просто не поверхностная копия ссылки.

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)

Параметры типа

T

Тип.

Наследование
ValueComparer<T>
Производный
Реализации

Комментарии

Дополнительные сведения см. в функциях сравнения значений EF Core .

Конструкторы

ValueComparer<T>(Boolean)

Создает новое ValueComparer<T> выражение сравнения по умолчанию и неглубокое копирование моментального снимка.

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

Создает новый ValueComparer<T> объект с заданным выражением сравнения. Для моментального снимка будет использоваться неглубокая копия.

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

Создает новый ValueComparer<T> объект с заданными выражениями сравнения и создания моментальных снимков.

Создание моментального снимка — это процесс создания копии значения в моментальный снимок, чтобы позже его можно было сравнить, чтобы определить, изменилось ли оно. Для некоторых типов, таких как коллекции, это должна быть глубокая копия коллекции, а не просто не поверхностная копия ссылки.

Свойства

EqualsExpression

Выражение сравнения.

HashCodeExpression

Хэш-выражение кода.

SnapshotExpression

Выражение моментального снимка.

Создание моментального снимка — это процесс создания копии значения в моментальный снимок, чтобы позже его можно было сравнить, чтобы определить, изменилось ли оно. Для некоторых типов, таких как коллекции, это должна быть глубокая копия коллекции, а не просто не поверхностная копия ссылки.

Type

Тип.

Методы

CreateDefaultEqualsExpression()

Создает выражение для равенства.

CreateDefaultHashCodeExpression(Boolean)

Создает выражение для создания хэш-кода.

CreateDefaultSnapshotExpression(Boolean)

Создает выражение для создания моментального снимка значения.

Equals(Object, Object)

Сравнивает два экземпляра, чтобы определить, равны ли они.

Equals(T, T)

Сравнивает два экземпляра, чтобы определить, равны ли они.

ExtractEqualsBody(Expression, Expression)

Принимает EqualsExpression и заменяет два параметра заданными выражениями, возвращая преобразованное тело.

(Унаследовано от ValueComparer)
ExtractHashCodeBody(Expression)

HashCodeExpression Принимает и заменяет параметр заданным выражением, возвращая преобразованное тело.

(Унаследовано от ValueComparer)
ExtractSnapshotBody(Expression)

SnapshotExpression Принимает и заменяет параметр заданным выражением, возвращая преобразованное тело.

(Унаследовано от ValueComparer)
GetHashCode(Object)

Возвращает хэш-код для данного экземпляра.

GetHashCode(T)

Возвращает хэш-код для данного экземпляра.

Snapshot(Object)

Создает моментальный снимок заданного экземпляра.

Создание моментального снимка — это процесс создания копии значения в моментальный снимок, чтобы позже его можно было сравнить, чтобы определить, изменилось ли оно. Для некоторых типов, таких как коллекции, это должна быть глубокая копия коллекции, а не просто не поверхностная копия ссылки.

Snapshot(T)

Создает моментальный снимок заданного экземпляра.

Создание моментального снимка — это процесс создания копии значения в моментальный снимок, чтобы позже его можно было сравнить, чтобы определить, изменилось ли оно. Для некоторых типов, таких как коллекции, это должна быть глубокая копия коллекции, а не просто не поверхностная копия ссылки.

Методы расширения

IsDefault(ValueComparer)

Возвращает значение true , если данное ValueComparer значение является реализацией EF Core по умолчанию.

Применяется к