ObjectContext.CreateEntityKey(String, Object) Metódus

Definíció

Létrehozza az entitáskulcsot egy adott objektumhoz, vagy visszaadja az entitáskulcsot, ha már létezik.

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

Paraméterek

entitySetName
String

Annak az entitásnak a teljes neve, amelyhez az entitásobjektum tartozik.

entity
Object

Az az objektum, amelyhez az entitáskulcsot lekéri.

Válaszok

Az EntityKey objektum.

Kivételek

Ha bármelyik paraméter .null

Amikor entitySetName üres.

-vagy-

Ha az entity objektum típusa nem létezik az entitáskészletben.

-vagy-

Ha a entitySetName nincs teljesen minősített.

Ha az entitáskulcs nem hozható létre sikeresen a megadott paraméterek alapján.

Példák

Ebben a példában CreateEntityKey egy meglévő objektum entitáskulcsának lekérésére szolgál.

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

Megjegyzések

EntityKey Ha a metódus nem létezikentity, a CreateEntityKey metódus létrehoz egy új kulcsot.

Ezzel a módszerrel állapítható meg, hogy egy azonos EntityKey objektum már csatlakoztatva van-e a ObjectContext. Ha egy azonos EntityKey objektum már csatolva van, kivétel keletkezik. CreateEntityKey A metódus meghívása előtt Attach próbálja meg lekérni a EntityKey leválasztott objektumot.

A következőre érvényes: