ValueComparer<T> クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Equals(Object, Object)と比較できない CLR 型のカスタム値のスナップショット作成と比較を指定します。また、スナップショットを作成するときにディープ コピーが必要です。 たとえば、プリミティブ型の配列では、変更を検出する場合は両方が必要になります。
[System.Runtime.CompilerServices.Nullable(0)]
public class ValueComparer<T> : Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer, System.Collections.Generic.IEqualityComparer<T>
public class ValueComparer<T> : Microsoft.EntityFrameworkCore.ChangeTracking.ValueComparer, System.Collections.Generic.IEqualityComparer<T>
[<System.Runtime.CompilerServices.Nullable(0)>]
type ValueComparer<'T> = class
inherit ValueComparer
interface IEqualityComparer<'T>
type ValueComparer<'T> = class
inherit ValueComparer
interface IEqualityComparer<'T>
Public Class ValueComparer(Of T)
Inherits ValueComparer
Implements IEqualityComparer(Of T)
型パラメーター
- T
型。
- 継承
- 派生
- 属性
- 実装
注釈
スナップショット作成は、後で比較して変更されたかどうかを判断できるように、値のコピーをスナップショットに作成するプロセスです。 コレクションなどの一部の型では、これは参照の浅いコピーではなく、コレクションのディープ コピーである必要があります。
詳細と例については、 EF Core の値の比較子 を参照してください。
コンストラクター
| Name | 説明 |
|---|---|
| ValueComparer<T>(Boolean) |
既定の比較式とスナップショットの簡易コピーを使用して、新しい ValueComparer<T> を作成します。 |
| ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>, Expression<Func<T,T>>) |
指定された比較式とスナップショット式を使用して新しい ValueComparer<T> を作成します。 |
| ValueComparer<T>(Expression<Func<T,T,Boolean>>, Expression<Func<T,Int32>>) |
指定された比較式を使用して新しい ValueComparer<T> を作成します。 スナップショットには浅いコピーが使用されます。 |
プロパティ
| Name | 説明 |
|---|---|
| ConstructorExpression |
このオブジェクトの構築を表す式。 |
| Default |
スナップショットに簡易コピーを使用し、IStructuralEquatableを優先しない、 |
| DefaultWithStructuralComparisons |
|
| EqualsExpression |
比較式。 |
| HashCodeExpression |
ハッシュ コード式。 |
| ObjectEqualsExpression |
オブジェクト比較式。 |
| SnapshotExpression |
スナップショット式。 |
| Type |
型。 |
メソッド
| Name | 説明 |
|---|---|
| CreateDefaultEqualsExpression() |
等しい式を作成します。 |
| CreateDefaultHashCodeExpression(Boolean) |
ハッシュ コードを生成するための式を作成します。 |
| CreateDefaultSnapshotExpression(Boolean) |
値のスナップショットを作成するための式を作成します。 |
| Equals(Object, Object) |
2 つのインスタンスを比較して、それらが等しいかどうかを判断します。 |
| Equals(T, T) |
2 つのインスタンスを比較して、それらが等しいかどうかを判断します。 |
| ExtractEqualsBody(Expression, Expression) |
EqualsExpressionを受け取り、2 つのパラメーターを指定された式に置き換え、変換された本文を返します。 (継承元 ValueComparer) |
| ExtractHashCodeBody(Expression) |
HashCodeExpressionを受け取り、パラメーターを指定された式に置き換え、変換された本文を返します。 (継承元 ValueComparer) |
| ExtractSnapshotBody(Expression) |
SnapshotExpressionを受け取り、パラメーターを指定された式に置き換え、変換された本文を返します。 (継承元 ValueComparer) |
| GetHashCode(Object) |
指定されたインスタンスのハッシュ コードを返します。 |
| GetHashCode(T) |
指定されたインスタンスのハッシュ コードを返します。 |
| Snapshot(Object) |
指定されたインスタンスのスナップショットを作成します。 |
| Snapshot(T) |
指定されたインスタンスのスナップショットを作成します。 |
拡張メソッド
| Name | 説明 |
|---|---|
| IsDefault(ValueComparer) |
指定されたValueComparerが既定の EF Core 実装である場合は、 |