Sdílet prostřednictvím


ObjectContext.CreateEntityKey(String, Object) Metoda

Definice

Vytvoří klíč entity pro konkrétní objekt nebo vrátí klíč entity, pokud již existuje.

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

Plně kvalifikovaný název sady entit, do které objekt entity patří.

entity
Object

Objekt, pro který se načítá klíč entity.

Návraty

Objekt EntityKey .

Výjimky

Pokud je nullněkterý z parametrů .

Když entitySetName je prázdný.

-nebo-

Pokud typ objektu entity neexistuje v sadě entit.

-nebo-

entitySetName Pokud není plně kvalifikovaný.

Pokud klíč entity nelze úspěšně vytvořit na základě zadaných parametrů.

Příklady

V tomto příkladu CreateEntityKey se používá k načtení klíče entity existujícího objektu.

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

Poznámky

EntityKey Pokud neexistuje pro entity, CreateEntityKey metoda pro něj vytvoří nový klíč.

Tato metoda se používá k určení, zda objekt, který má stejný EntityKey , je již připojen k objektu ObjectContext. Pokud je již připojen objekt, který má stejný EntityKey , je vyvolána výjimka. Použijte metodu CreateEntityKey k pokusu o EntityKey načtení odpojeného objektu před voláním Attach metody.

Platí pro