ObjectContext.CreateEntityKey(String, Object) Yöntem
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.
Belirli bir nesne için varlık anahtarını oluşturur veya zaten varsa varlık anahtarını döndürür.
public:
System::Data::EntityKey ^ CreateEntityKey(System::String ^ entitySetName, System::Object ^ entity);
public System.Data.EntityKey CreateEntityKey (string entitySetName, object entity);
member this.CreateEntityKey : string * obj -> System.Data.EntityKey
Public Function CreateEntityKey (entitySetName As String, entity As Object) As EntityKey
Parametreler
- entitySetName
- String
Varlık nesnesinin ait olduğu varlık kümesinin tam adı.
- entity
- Object
Varlık anahtarının alınmakta olduğu nesne.
Döndürülenler
EntityKey Nesnesinin öğesi.
Özel durumlar
Her iki parametreden biri olduğunda null
.
Boş olduğunda entitySetName
.
-veya-
Nesnenin entity
türü varlık kümesinde mevcut olmadığında.
-veya-
tam olarak nitelenmediğinde entitySetName
.
Varlık anahtarı, sağlanan parametrelere göre başarıyla oluşturulamadığında.
Örnekler
Bu örnekte, CreateEntityKey var olan bir nesnenin varlık anahtarını almak için kullanılır.
private static void ApplyItemUpdates(SalesOrderDetail updatedItem)
{
// Define an ObjectStateEntry and EntityKey for the current object.
EntityKey key = default(EntityKey);
object originalItem = null;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Create the detached object's entity key.
key = context.CreateEntityKey("SalesOrderDetails", updatedItem);
// Get the original item based on the entity key from the context
// or from the database.
if (context.TryGetObjectByKey(key, out originalItem))
{
// Call the ApplyCurrentValues method to apply changes
// from the updated item to the original version.
context.ApplyCurrentValues(key.EntitySetName, updatedItem);
}
context.SaveChanges();
}
}
Açıklamalar
için entity
CreateEntityKey bir EntityKey yoksa, yöntemi bunun için yeni bir anahtar oluşturur.
Bu yöntem, aynı EntityKey olan bir nesnenin zaten öğesine eklenip eklenmediğini belirlemek için ObjectContextkullanılır. Aynı EntityKey olan bir nesne zaten eklenmişse, bir özel durum oluşturulur. CreateEntityKey yöntemini çağırmadan Attach önce ayrılmış nesnenin öğesini almayı EntityKey denemek için yöntemini kullanın.