Udostępnij za pośrednictwem


ObjectContext.CreateEntityKey(String, Object) Metoda

Definicja

Tworzy klucz jednostki dla określonego obiektu lub zwraca klucz jednostki, jeśli już istnieje.

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

Parametry

entitySetName
String

W pełni kwalifikowana nazwa zestawu jednostek, do którego należy obiekt jednostki.

entity
Object

Obiekt, dla którego jest pobierany klucz jednostki.

Zwraca

Obiekt EntityKey .

Wyjątki

Gdy dowolny parametr ma wartość null.

Gdy entitySetName wartość jest pusta.

-lub-

Jeśli typ entity obiektu nie istnieje w zestawie jednostek.

-lub-

Gdy element nie jest w pełni kwalifikowany entitySetName .

Jeśli nie można pomyślnie skonstruować klucza jednostki na podstawie podanych parametrów.

Przykłady

W tym przykładzie CreateEntityKey jest używany do pobierania klucza jednostki istniejącego obiektu.

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();
    }
}

Uwagi

Jeśli element EntityKey nie istnieje dla entitymetody , CreateEntityKey metoda tworzy dla niego nowy klucz.

Ta metoda służy do określania, czy obiekt, który ma to samo EntityKey , jest już dołączony do obiektu ObjectContext. Jeśli obiekt, który ma to samo EntityKey , jest już dołączony, zgłaszany jest wyjątek. CreateEntityKey Użyj metody , aby spróbować pobrać EntityKey obiekt odłączony przed wywołaniem Attach metody .

Dotyczy