Partager via


ObjectContext.CreateEntityKey(String, Object) Méthode

Définition

Crée la clé d'entité pour un objet spécifique ou retourne la clé d'entité si elle existe déjà.

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ètres

entitySetName
String

Nom complet du jeu d'entités auquel appartient l'objet entité.

entity
Object

Objet pour lequel la clé d'entité est récupérée.

Retours

EntityKey de l'objet.

Exceptions

Lorsque l'un ou l'autre paramètre est null.

Lorsque entitySetName est vide.

- ou -

Lorsque le type de l'objet entity n'existe pas dans le jeu d'entités.

- ou -

Lorsque entitySetName n'est pas totalement qualifié.

Lorsque la clé d'entité ne peut pas être construite correctement avec les paramètres fournis.

Exemples

Dans cet exemple, la méthode CreateEntityKey est utilisée pour récupérer la clé d'entité d'un objet existant.

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

Remarques

S’il n’existe EntityKey pas de pour , entityla CreateEntityKey méthode crée une clé pour celui-ci.

Cette méthode est utilisée pour déterminer si un objet ayant le même EntityKey est déjà attaché à l'objet ObjectContext. Si un objet ayant le même EntityKey est déjà attaché, une exception est levée. Utilisez la méthode CreateEntityKey pour tenter de récupérer l'objet EntityKey de l'objet détaché avant d'appeler la méthode Attach.

S’applique à