ValueComparer<T> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
規定針對無法與CLR比較 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 價值比較工具 。
建構函式
| 名稱 | Description |
|---|---|
| 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> 。 快照會使用淺層副本。 |
屬性
| 名稱 | Description |
|---|---|
| ConstructorExpression |
表示此物件建構的表達式。 |
| Default |
預設情況下ValueComparer<T> |
| DefaultWithStructuralComparisons |
預設值ValueComparer<T> |
| EqualsExpression |
比較表達。 |
| HashCodeExpression |
雜湊碼表達式。 |
| ObjectEqualsExpression |
物體比較表達式。 |
| SnapshotExpression |
快照表達。 |
| Type |
「類型」。 |
方法
| 名稱 | Description |
|---|---|
| CreateDefaultEqualsExpression() |
創造了平等的表達。 |
| CreateDefaultHashCodeExpression(Boolean) |
建立一個用於產生雜湊碼的表達式。 |
| CreateDefaultSnapshotExpression(Boolean) |
建立一個表達式來建立值的快照。 |
| 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(T) |
建立給定實例的快照。 |
擴充方法
| 名稱 | Description |
|---|---|
| IsDefault(ValueComparer) |
若該版本ValueComparer為預設的 EF Core 實作,則回傳 |