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
Тип.
- Наследование
- Производный
- Реализации
Комментарии
Создание моментального снимка — это процесс создания копии значения в 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) |
Возвращает значение |
Применяется к
Entity Framework