ValueComparer<T> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
針對無法與 Equals(Object, Object) 和/或擷取快照集時需要深層複本的 CLR 型別指定自訂值快照集和比較。 例如,如果偵測到變動,則基本類型的陣列需要兩者。
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
類型。
- 繼承
- 衍生
- 實作
備註
快照集是將值複本建立到快照集的程式,以便稍後進行比較,以判斷它是否已變更。 對於某些類型,例如集合,這必須是集合的深層複本,而不只是參考的淺層複本。
如需詳細資訊和範例,請參閱 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) |
比較兩個實例,以判斷它們是否相等。 |
Equals(T, T) |
比較兩個實例,以判斷它們是否相等。 |
ExtractEqualsBody(Expression, Expression) |
使用 EqualsExpression 指定的運算式取代這兩個參數,並傳回轉換的主體。 (繼承來源 ValueComparer) |
ExtractHashCodeBody(Expression) |
HashCodeExpression使用 ,並以指定的運算式取代 參數,並傳回轉換的主體。 (繼承來源 ValueComparer) |
ExtractSnapshotBody(Expression) |
SnapshotExpression使用 ,並以指定的運算式取代 參數,並傳回轉換的主體。 (繼承來源 ValueComparer) |
GetHashCode(Object) |
傳回指定實例的雜湊碼。 |
GetHashCode(T) |
傳回指定實例的雜湊碼。 |
Snapshot(Object) |
建立指定實例的快照集。 |
Snapshot(T) |
建立指定實例的快照集。 |
擴充方法
IsDefault(ValueComparer) |
如果指定的 ValueComparer 是預設的 EF Core 實作,則傳 |