ObjectContext.CreateEntityKey(String, Object) Methode

Definitie

Hiermee maakt u de entiteitssleutel voor een specifiek object of retourneert u de entiteitssleutel als deze al bestaat.

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

Parameters

entitySetName
String

De volledig gekwalificeerde naam van de entiteit die is ingesteld waartoe het entiteitsobject behoort.

entity
Object

Het object waarvoor de entiteitssleutel wordt opgehaald.

Retouren

Het EntityKey object.

Uitzonderingen

Wanneer een van de parameters is null.

Wanneer entitySetName is het leeg.

– of –

Wanneer het type van het entity object niet bestaat in de entiteitsset.

– of –

Wanneer de entitySetName niet volledig gekwalificeerde is.

Wanneer de entiteitssleutel niet kan worden samengesteld op basis van de opgegeven parameters.

Voorbeelden

In dit voorbeeld CreateEntityKey wordt gebruikt om de entiteitssleutel van een bestaand object op te halen.

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

Opmerkingen

Als er geen bestaat EntityKey voor de entitymethode, CreateEntityKey wordt er een nieuwe sleutel voor gemaakt.

Deze methode wordt gebruikt om te bepalen of een object met hetzelfde EntityKey object al is gekoppeld aan de ObjectContext. Als er al een object met hetzelfde EntityKey is gekoppeld, wordt er een uitzondering gegenereerd. Gebruik de CreateEntityKey methode om het EntityKey losgekoppelde object op te halen voordat u de Attach methode aanroept.

Van toepassing op