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


ValueComparer<T> Конструкторы

Определение

Перегрузки

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> с заданными выражениями сравнения и создания моментальных снимков.

ValueComparer<T>(Boolean)

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

public ValueComparer (bool favorStructuralComparisons);
new Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T> : bool -> Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T>
Public Sub New (favorStructuralComparisons As Boolean)

Параметры

favorStructuralComparisons
Boolean

Если trueзначение , то EF будет использовать IStructuralEquatable , если тип реализует его. Обычно используется, когда массивы байтов выступают в качестве ключей.

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

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

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

public ValueComparer (System.Linq.Expressions.Expression<Func<T,T,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression);
public ValueComparer (System.Linq.Expressions.Expression<Func<T?,T?,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression);
new Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T> : System.Linq.Expressions.Expression<Func<'T, 'T, bool>> * System.Linq.Expressions.Expression<Func<'T, int>> -> Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T>
Public Sub New (equalsExpression As Expression(Of Func(Of T, T, Boolean)), hashCodeExpression As Expression(Of Func(Of T, Integer)))

Параметры

equalsExpression
Expression<Func<T,T,Boolean>>

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

hashCodeExpression
Expression<Func<T,Int32>>

Связанный генератор хэш-кода.

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

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

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

public ValueComparer (System.Linq.Expressions.Expression<Func<T,T,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression, System.Linq.Expressions.Expression<Func<T,T>> snapshotExpression);
public ValueComparer (System.Linq.Expressions.Expression<Func<T?,T?,bool>> equalsExpression, System.Linq.Expressions.Expression<Func<T,int>> hashCodeExpression, System.Linq.Expressions.Expression<Func<T,T>> snapshotExpression);
new Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T> : System.Linq.Expressions.Expression<Func<'T, 'T, bool>> * System.Linq.Expressions.Expression<Func<'T, int>> * System.Linq.Expressions.Expression<Func<'T, 'T>> -> Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer<'T>
Public Sub New (equalsExpression As Expression(Of Func(Of T, T, Boolean)), hashCodeExpression As Expression(Of Func(Of T, Integer)), snapshotExpression As Expression(Of Func(Of T, T)))

Параметры

equalsExpression
Expression<Func<T,T,Boolean>>

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

hashCodeExpression
Expression<Func<T,Int32>>

Связанный генератор хэш-кода.

snapshotExpression
Expression<Func<T,T>>

Выражение snapshot.

Комментарии

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

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