Dil

ValueComparer<T> Sınıf

Tanım

Anlık görüntü alırken clr türleriyle Equals(Object, Object) karşılaştırılamayan ve/veya derin kopya gerektiremeyen özel değer anlık görüntüsünü ve karşılaştırmasını belirtir. Örneğin, ilkel tür dizileri, mutasyon algılanacaksa her ikisini de gerektirir.

[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ür Parametreleri

T

Türü.

Devralma
ValueComparer<T>
Türetilmiş
Özellikler
Uygulamalar

Açıklamalar

Anlık görüntü oluşturma, değerin bir kopyasını anlık görüntüde oluşturma işlemidir, böylece daha sonra değiştirilip değiştirilmediğini belirlemek için karşılaştırılabilir. Koleksiyonlar gibi bazı türler için, bunun yalnızca basit bir başvuru kopyası yerine koleksiyonun derin bir kopyası olması gerekir.

Daha fazla bilgi ve örnek için bkz. EF Core değer karşılaştırıcıları .

Oluşturucular

Veri Akışı Adı Description
ValueComparer<T>(Boolean)

Varsayılan karşılaştırma ifadesi ve anlık görüntü için sığ bir kopya ile yeni ValueComparer<T> bir oluşturur.

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

Verilen karşılaştırma ve anlık görüntü oluşturma ifadeleriyle yeni ValueComparer<T> bir oluşturur.

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

Verilen karşılaştırma ifadesiyle yeni ValueComparer<T> bir oluşturur. Anlık görüntü için sığ bir kopya kullanılır.

Özellikler

Veri Akışı Adı Description
ConstructorExpression

Bu nesnenin oluşturulmasını temsil eden ifade.

Default

anlık görüntüler için Tbasit bir kopya kullanan ve tercih edilmeyen IStructuralEquatableiçin varsayılan ValueComparer<T> değerdir.

DefaultWithStructuralComparisons

türü tarafından uygulandığında tercih eden IStructuralEquatable için Tvarsayılan ValueComparer<T> değerdir. Bu genellikle bayt dizileri anahtar görevi görürken kullanılır.

EqualsExpression

Karşılaştırma ifadesi.

HashCodeExpression

Karma kod ifadesi.

ObjectEqualsExpression

Nesne karşılaştırma ifadesi.

SnapshotExpression

Anlık görüntü ifadesi.

Type

Türü.

Yöntemler

Veri Akışı Adı Description
CreateDefaultEqualsExpression()

Eşitlik için bir ifade oluşturur.

CreateDefaultHashCodeExpression(Boolean)

Karma kod oluşturmak için bir ifade oluşturur.

CreateDefaultSnapshotExpression(Boolean)

Bir değerin anlık görüntüsünü oluşturmak için bir ifade oluşturur.

Equals(Object, Object)

Eşit olup olmadığını belirlemek için iki örneği karşılaştırır.

Equals(T, T)

Eşit olup olmadığını belirlemek için iki örneği karşılaştırır.

ExtractEqualsBody(Expression, Expression)

İki parametreyi alır EqualsExpression ve verilen ifadelerle değiştirir ve dönüştürülen gövdeyi döndürür.

(Devralındığı yer: ValueComparer)
ExtractHashCodeBody(Expression)

parametresini HashCodeExpression alır ve parametresini verilen ifadeyle değiştirir ve dönüştürülmüş gövdeyi döndürür.

(Devralındığı yer: ValueComparer)
ExtractSnapshotBody(Expression)

parametresini SnapshotExpression alır ve parametresini verilen ifadeyle değiştirir ve dönüştürülmüş gövdeyi döndürür.

(Devralındığı yer: ValueComparer)
GetHashCode(Object)

Verilen örneğin karma kodunu döndürür.

GetHashCode(T)

Verilen örneğin karma kodunu döndürür.

Snapshot(Object)

Verilen örneğin anlık görüntüsünü oluşturur.

Snapshot(T)

Verilen örneğin anlık görüntüsünü oluşturur.

Uzantı Metotları

Veri Akışı Adı Description
IsDefault(ValueComparer)

Verilen ValueComparer varsayılan EF Core uygulamasıysa döndürürtrue.

Şunlara uygulanır