次の方法で共有


ValueComparer<T> クラス

定義

スナップショットを取得するときに、CLR 型と比較できない、またはディープ コピーが必要な 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)

2 つのインスタンスを比較して、それらが等しいかどうかを判断します。

Equals(T, T)

2 つのインスタンスを比較して、それらが等しいかどうかを判断します。

ExtractEqualsBody(Expression, Expression)

2 つのパラメーターを受け取って EqualsExpression 指定された式に置き換え、変換された本文を返します。

(継承元 ValueComparer)
ExtractHashCodeBody(Expression)

HashCodeExpressionを受け取り、 パラメーターを指定された式に置き換え、変換された本文を返します。

(継承元 ValueComparer)
ExtractSnapshotBody(Expression)

SnapshotExpressionを受け取り、 パラメーターを指定された式に置き換え、変換された本文を返します。

(継承元 ValueComparer)
GetHashCode(Object)

指定されたインスタンスのハッシュ コードを返します。

GetHashCode(T)

指定されたインスタンスのハッシュ コードを返します。

Snapshot(Object)

指定したインスタンスのスナップショットを作成します。

Snapshot(T)

指定したインスタンスのスナップショットを作成します。

拡張メソッド

IsDefault(ValueComparer)

指定ValueComparerした true が既定の EF Core 実装である場合は を返します。

適用対象