EntityKey Constructors

Definitie

Initialiseert een nieuw exemplaar van de EntityKey klasse.

Overloads

Name Description
EntityKey()

Initialiseert een nieuw exemplaar van de EntityKey klasse.

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

Initialiseert een nieuw exemplaar van de EntityKey klasse met een entiteitssetnaam en een algemene KeyValuePair verzameling.

EntityKey(String, IEnumerable<EntityKeyMember>)

Initialiseert een nieuw exemplaar van de EntityKey klasse met een entiteitssetnaam en een IEnumerable<T> verzameling EntityKeyMember objecten.

EntityKey(String, String, Object)

Initialiseert een nieuw exemplaar van de EntityKey klasse met een entiteitssetnaam en een specifiek entiteitssleutelpaar.

EntityKey()

Initialiseert een nieuw exemplaar van de EntityKey klasse.

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

Van toepassing op

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

Initialiseert een nieuw exemplaar van de EntityKey klasse met een entiteitssetnaam en een algemene KeyValuePair verzameling.

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

Parameters

qualifiedEntitySetName
String

Een String naam die de naam van de entiteitsset is die is gekwalificeerd door de naam van de entiteitscontainer.

entityKeyValues
IEnumerable<KeyValuePair<String,Object>>

Een algemene KeyValuePair verzameling.

Elk sleutel-/waardepaar heeft een eigenschapsnaam als de sleutel en de waarde van die eigenschap als de waarde. Er moet één paar zijn voor elke eigenschap die deel uitmaakt van de EntityKey. De volgorde van de sleutel-/waardeparen is niet belangrijk, maar elke sleuteleigenschap moet worden opgenomen. De eigenschapsnamen zijn eenvoudige namen die niet zijn gekwalificeerd met een entiteitstypenaam of de schemanaam.

Voorbeelden

In dit voorbeeld ziet u hoe u een 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);
    }
}

Van toepassing op

EntityKey(String, IEnumerable<EntityKeyMember>)

Initialiseert een nieuw exemplaar van de EntityKey klasse met een entiteitssetnaam en een IEnumerable<T> verzameling EntityKeyMember objecten.

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

Parameters

qualifiedEntitySetName
String

Een String naam die de naam van de entiteitsset is die is gekwalificeerd door de naam van de entiteitscontainer.

entityKeyValues
IEnumerable<EntityKeyMember>

Een IEnumerable<T> verzameling EntityKeyMember objecten waarmee de sleutel moet worden geïnitialiseerd.

Van toepassing op

EntityKey(String, String, Object)

Initialiseert een nieuw exemplaar van de EntityKey klasse met een entiteitssetnaam en een specifiek entiteitssleutelpaar.

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)

Parameters

qualifiedEntitySetName
String

Een String naam die de naam van de entiteitsset is die is gekwalificeerd door de naam van de entiteitscontainer.

keyName
String

Een String die de naam van de sleutel is.

keyValue
Object

Een Object waarde die de sleutelwaarde is.

Voorbeelden

In dit voorbeeld ziet u hoe u een 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);
    }
}

Van toepassing op