EntityKey.IsTemporary Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
öğesinin 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.
Uyarı
Geçici anahtarlar çerçeve tarafından otomatik olarak oluşturulur; 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. Diğer bir ifadeyle, varlık kümeleri aynıysa 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 otomatik olarak yeni bir kalıcı anahtar hesaplar ve tüm geçici anahtar başvurularını eşitler.