Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

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

 

Data di pubblicazione: novembre 2016

Inizializza una nuova istanza della classe EntityKey con un nome del set di entità e una raccolta di T:System.Collections.Generic.KeyValuePair generica.

Spazio dei nomi:   System.Data
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

public EntityKey(
	string qualifiedEntitySetName,
	IEnumerable<KeyValuePair<string, object>> entityKeyValues
)

Parametri

qualifiedEntitySetName
Type: System.String

Oggetto String che rappresenta il nome del set di entità qualificato dal nome del contenitore di entità.

entityKeyValues
Type: System.Collections.Generic.IEnumerable<KeyValuePair<String, Object>>

Raccolta di T:System.Collections.Generic.KeyValuePair generica.

Ogni coppia chiave/valore contiene il nome di una proprietà come chiave e il valore di tale proprietà come valore. Deve esistere una sola coppia per ogni proprietà che fa parte di EntityKey. L'ordine delle coppie chiave/valore non è importante, ma è necessario che sia inclusa ogni proprietà chiave. I nomi della proprietà sono nomi semplici non qualificati con un nome del tipo di entità o con il nome dello schema.

Questo esempio è basato il modello Sales di AdventureWorks. Nell'esempio viene illustrato come creare e utilizzare 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 occured. Ensure that an object with the '{0}' key value exists.",
        orderId);
    }
}

.NET Framework
Disponibile da 3.5
Torna all'inizio
Mostra: