ObjectContext.CreateEntityKey(String, Object) Yöntem

Tanım

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 entityCreateEntityKey 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.

Şunlara uygulanır