Compartir a través de


EntityKey Constructores

Definición

Inicializa una nueva instancia de la clase EntityKey.

Sobrecargas

EntityKey()

Inicializa una nueva instancia de la clase EntityKey.

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

Inicializa una nueva instancia de la clase EntityKey con un nombre de conjunto de entidades y una colección KeyValuePair genérica.

EntityKey(String, IEnumerable<EntityKeyMember>)

Inicializa una nueva instancia de la clase EntityKey con un nombre de conjunto de entidades y una colección IEnumerable<T> de objetos EntityKeyMember.

EntityKey(String, String, Object)

Inicializa una nueva instancia de la clase EntityKey con un nombre de conjunto de entidades y un par de nombre/valor de clave de entidad específico.

EntityKey()

Inicializa una nueva instancia de la clase EntityKey.

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

Se aplica a

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

Inicializa una nueva instancia de la clase EntityKey con un nombre de conjunto de entidades y una colección KeyValuePair genérica.

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)))

Parámetros

qualifiedEntitySetName
String

String que es el nombre del conjunto de entidades calificado por el nombre del contenedor de entidades.

entityKeyValues
IEnumerable<KeyValuePair<String,Object>>

Colección KeyValuePair genérica.

Cada par clave-valor tiene un nombre de propiedad que corresponde a la clave, y el valor de esa propiedad que corresponde al valor. Debe haber un par para cada propiedad que forma parte de la EntityKey. El orden de los pares clave-valor no es importante, pero deben incluirse todas las propiedades de clave. Los nombres de propiedad son nombres sencillos que no están calificados con un nombre de tipo de entidad ni con el nombre de esquema.

Ejemplos

En este ejemplo se muestra cómo crear y usar 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);
    }
}

Se aplica a

EntityKey(String, IEnumerable<EntityKeyMember>)

Inicializa una nueva instancia de la clase EntityKey con un nombre de conjunto de entidades y una colección IEnumerable<T> de objetos 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))

Parámetros

qualifiedEntitySetName
String

String que es el nombre del conjunto de entidades calificado por el nombre del contenedor de entidades.

entityKeyValues
IEnumerable<EntityKeyMember>

Colección IEnumerable<T> de objetos EntityKeyMember con la que se va a inicializar la clave.

Se aplica a

EntityKey(String, String, Object)

Inicializa una nueva instancia de la clase EntityKey con un nombre de conjunto de entidades y un par de nombre/valor de clave de entidad específico.

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)

Parámetros

qualifiedEntitySetName
String

String que es el nombre del conjunto de entidades calificado por el nombre del contenedor de entidades.

keyName
String

String que representa el nombre de la clave.

keyValue
Object

Object que representa el valor de la clave.

Ejemplos

En este ejemplo se muestra cómo crear y usar 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);
    }
}

Se aplica a