EntityKey.IsTemporary Özellik

Tanım

değerinin geçici olup olmadığını EntityKey belirten bir değer alır.

public:
 property bool IsTemporary { bool get(); };
public bool IsTemporary { get; }
member this.IsTemporary : bool
Public ReadOnly Property IsTemporary As Boolean

Özellik Değeri

true EntityKey geçiciyse; değilse, false.

Açıklamalar

Yeni bir varlık oluşturulduğunda Entity Framework geçici anahtarı tanımlar ve özelliğini olarak trueayarlarIsTemporary. yöntemini çağırdığınızdaSaveChanges, Entity Framework kalıcı bir anahtar atar ve özelliğini olarak falseayarlarIsTemporary.

Not

Geçici anahtarlar çerçeve tarafından otomatik olarak oluşturulur; bunlar doğrudan bir kullanıcı tarafından oluşturulamaz.

Geçici anahtarlar, kalıcı anahtarlardan farklı karşılaştırma semantiğine sahiptir:

  • Geçici anahtarlar başvuru eşitliğini kullanır. Diğer bir deyişle, tam olarak aynı geçici EntityKey örneğe yapılan iki başvuru eşittir, ancak başka EntityKey hiçbir örnek eşit değildir.

  • Kalıcı anahtarlar, içerdiği anahtar özelliklerinin ve EntitySetdeğerlerini temel alarak eşitliği belirler. Başka bir ifadeyle, varlık kümeleri aynı ve anahtar değerleri eşitse eşit olan iki ayrı EntityKey örneğiniz olabilir.

Buna ek olarak, geçici anahtarların veya anahtar değerleri yoktur EntitySet , ancak kalıcı anahtarlar vardır.

Bir varlığın AcceptChangesObjectStateEntry yöntemi çağrıldığında ve varlık durumundan Added duruma Unchanged geçtiğinde, Entity Framework varlık için yeni bir kalıcı anahtarı otomatik olarak hesaplar ve tüm geçici anahtar başvurularını eşitler.

Şunlara uygulanır