Partager via


EntityKey Constructeurs

Définition

Initialise une nouvelle instance de la classe EntityKey.

Surcharges

EntityKey()

Initialise une nouvelle instance de la classe EntityKey.

EntityKey(String, IEnumerable<KeyValuePair<String,Object>>)

Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d’entités et une collection KeyValuePair générique.

EntityKey(String, IEnumerable<EntityKeyMember>)

Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d’entités et une collection IEnumerable<T> de EntityKeyMember.

EntityKey(String, String, Object)

Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d'entités et une paire de clés d'entités spécifique.

EntityKey()

Initialise une nouvelle instance de la classe EntityKey.

public:
 EntityKey();
public EntityKey ();
Public Sub New ()

S’applique à

EntityKey(String, IEnumerable<KeyValuePair<String,Object>>)

Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d’entités et une collection KeyValuePair générique.

public:
 EntityKey(System::String ^ qualifiedEntitySetName, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ entityKeyValues);
public EntityKey (string qualifiedEntitySetName, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string,object>> entityKeyValues);
new System.Data.EntityKey : string * seq<System.Collections.Generic.KeyValuePair<string, obj>> -> System.Data.EntityKey
Public Sub New (qualifiedEntitySetName As String, entityKeyValues As IEnumerable(Of KeyValuePair(Of String, Object)))

Paramètres

qualifiedEntitySetName
String

Objet String qui correspond au nom du jeu d'entités, qualifié par le nom du conteneur d'entités.

entityKeyValues
IEnumerable<KeyValuePair<String,Object>>

Collection KeyValuePair générique.

Chaque paire clé/valeur a un nom de propriété comme clé et la valeur de cette propriété comme valeur. Il doit y avoir une paire pour chaque propriété qui fait partie de l'objet EntityKey. L'ordre des paires clé/valeur n'est pas important, mais chaque propriété de clé doit être incluse. Les noms de propriétés sont des noms simples qui ne sont pas qualifiés avec un nom de type d'entité ou le nom de schéma.

Exemples

Cet exemple vous montre comment créer et utiliser un EntityKey.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    try
    {
        // Create the key that represents the order.
        EntityKey orderKey =
            new EntityKey("AdventureWorksEntities.SalesOrderHeaders",
                "SalesOrderID", orderId);

        // Create the stand-in SalesOrderHeader object
        // based on the specified SalesOrderID.
        SalesOrderHeader order = new SalesOrderHeader();
        order.EntityKey = orderKey;

        // Assign the ID to the SalesOrderID property to matche the key.
        order.SalesOrderID = (int)orderKey.EntityKeyValues[0].Value;

        // Attach the stand-in SalesOrderHeader object.
        context.SalesOrderHeaders.Attach(order);

        // Create a new SalesOrderDetail object.
        // You can use the static CreateObjectName method (the Entity Framework
        // adds this method to the generated entity types) instead of the new operator:
        // SalesOrderDetail.CreateSalesOrderDetail(1, 0, 2, 750, 1, (decimal)2171.2942, 0, 0,
        //                                         Guid.NewGuid(), DateTime.Today));
        SalesOrderDetail detail = new SalesOrderDetail
        {
            SalesOrderID = orderId,
            SalesOrderDetailID = 0,
            OrderQty = 2,
            ProductID = 750,
            SpecialOfferID = 1,
            UnitPrice = (decimal)2171.2942,
            UnitPriceDiscount = 0,
            LineTotal = 0,
            rowguid = Guid.NewGuid(),
            ModifiedDate = DateTime.Now
        };

        order.SalesOrderDetails.Add(detail);

        context.SaveChanges();
    }
    catch (InvalidOperationException)
    {
        Console.WriteLine("Ensure that the key value matches the value of the object's ID property.");
    }
    catch (UpdateException)
    {
        Console.WriteLine("An error has occurred. Ensure that an object with the '{0}' key value exists.",
        orderId);
    }
}

S’applique à

EntityKey(String, IEnumerable<EntityKeyMember>)

Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d’entités et une collection IEnumerable<T> de EntityKeyMember.

public:
 EntityKey(System::String ^ qualifiedEntitySetName, System::Collections::Generic::IEnumerable<System::Data::EntityKeyMember ^> ^ entityKeyValues);
public EntityKey (string qualifiedEntitySetName, System.Collections.Generic.IEnumerable<System.Data.EntityKeyMember> entityKeyValues);
new System.Data.EntityKey : string * seq<System.Data.EntityKeyMember> -> System.Data.EntityKey
Public Sub New (qualifiedEntitySetName As String, entityKeyValues As IEnumerable(Of EntityKeyMember))

Paramètres

qualifiedEntitySetName
String

Objet String qui correspond au nom du jeu d'entités, qualifié par le nom du conteneur d'entités.

entityKeyValues
IEnumerable<EntityKeyMember>

Collection IEnumerable<T> d'objets EntityKeyMember avec lesquels initialiser la clé.

S’applique à

EntityKey(String, String, Object)

Initialise une nouvelle instance de la classe EntityKey avec un nom de jeu d'entités et une paire de clés d'entités spécifique.

public:
 EntityKey(System::String ^ qualifiedEntitySetName, System::String ^ keyName, System::Object ^ keyValue);
public EntityKey (string qualifiedEntitySetName, string keyName, object keyValue);
new System.Data.EntityKey : string * string * obj -> System.Data.EntityKey
Public Sub New (qualifiedEntitySetName As String, keyName As String, keyValue As Object)

Paramètres

qualifiedEntitySetName
String

Objet String qui correspond au nom du jeu d'entités, qualifié par le nom du conteneur d'entités.

keyName
String

Objet String qui correspond au nom de la clé.

keyValue
Object

Objet Object qui correspond à la valeur de la clé.

Exemples

Cet exemple vous montre comment créer et utiliser un EntityKey.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    try
    {
        // Create the key that represents the order.
        EntityKey orderKey =
            new EntityKey("AdventureWorksEntities.SalesOrderHeaders",
                "SalesOrderID", orderId);

        // Create the stand-in SalesOrderHeader object
        // based on the specified SalesOrderID.
        SalesOrderHeader order = new SalesOrderHeader();
        order.EntityKey = orderKey;

        // Assign the ID to the SalesOrderID property to matche the key.
        order.SalesOrderID = (int)orderKey.EntityKeyValues[0].Value;

        // Attach the stand-in SalesOrderHeader object.
        context.SalesOrderHeaders.Attach(order);

        // Create a new SalesOrderDetail object.
        // You can use the static CreateObjectName method (the Entity Framework
        // adds this method to the generated entity types) instead of the new operator:
        // SalesOrderDetail.CreateSalesOrderDetail(1, 0, 2, 750, 1, (decimal)2171.2942, 0, 0,
        //                                         Guid.NewGuid(), DateTime.Today));
        SalesOrderDetail detail = new SalesOrderDetail
        {
            SalesOrderID = orderId,
            SalesOrderDetailID = 0,
            OrderQty = 2,
            ProductID = 750,
            SpecialOfferID = 1,
            UnitPrice = (decimal)2171.2942,
            UnitPriceDiscount = 0,
            LineTotal = 0,
            rowguid = Guid.NewGuid(),
            ModifiedDate = DateTime.Now
        };

        order.SalesOrderDetails.Add(detail);

        context.SaveChanges();
    }
    catch (InvalidOperationException)
    {
        Console.WriteLine("Ensure that the key value matches the value of the object's ID property.");
    }
    catch (UpdateException)
    {
        Console.WriteLine("An error has occurred. Ensure that an object with the '{0}' key value exists.",
        orderId);
    }
}

S’applique à