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


ValueComparer Класс

Определение

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

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

Комментарии

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

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

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

ValueComparer(LambdaExpression, LambdaExpression, LambdaExpression)

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

Поля

BoolIdentity

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Следует использовать его только непосредственно в коде с особой осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

HashCodeAddMethod

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Следует использовать его только непосредственно в коде с особой осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

ToHashCodeMethod

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Следует использовать его только непосредственно в коде с особой осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

Свойства

EqualsExpression

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

HashCodeExpression

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

SnapshotExpression

Выражение snapshot.

Type

Тип.

Методы

Add(HashCode, Int32)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Следует использовать его только непосредственно в коде с особой осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

CreateDefault(Type, Boolean)

Создает значение по умолчанию ValueComparer<T> для заданного типа.

CreateDefault<T>(Boolean)

Создает значение по умолчанию ValueComparer<T> для заданного типа.

Equals(Object, Object)

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

ExtractEqualsBody(Expression, Expression)

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

ExtractHashCodeBody(Expression)

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

ExtractSnapshotBody(Expression)

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

GetHashCode(Object)

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

Snapshot(Object)

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

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

IsDefault(ValueComparer)

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

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