Поделиться через


ValueComparer<T> Класс

Определение

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

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>
Производный
Реализации

Комментарии

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

Дополнительные сведения и примеры см. в статье Сравнение значений EF Core .

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

ValueComparer<T>(Boolean)

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

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

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

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

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

Свойства

EqualsExpression

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

HashCodeExpression

Выражение хэш-кода.

SnapshotExpression

Выражение snapshot.

Type

Тип.

Методы

CreateDefaultEqualsExpression()

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

CreateDefaultHashCodeExpression(Boolean)

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

CreateDefaultSnapshotExpression(Boolean)

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

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 данного экземпляра.

Snapshot(T)

Создает snapshot данного экземпляра.

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

IsDefault(ValueComparer)

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

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