ObjectContext.GetObjectByKey(EntityKey) Metod

Definition

Returnerar ett objekt som har den angivna entitetsnyckeln.

public:
 System::Object ^ GetObjectByKey(System::Data::EntityKey ^ key);
public object GetObjectByKey(System.Data.EntityKey key);
member this.GetObjectByKey : System.Data.EntityKey -> obj
Public Function GetObjectByKey (key As EntityKey) As Object

Parametrar

key
EntityKey

Nyckeln för det objekt som ska hittas.

Returer

En Object instans av en entitetstyp.

Undantag

Parametern key är null.

Det går inte att hitta objektet i datakällan ObjectStateManager eller i datakällan.

Exempel

Det här exemplet skapar en EntityKey för en entitet av den angivna typen och hämtar sedan en entitet efter nyckel.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    try
    {
        // Define the entity key values.
        IEnumerable<KeyValuePair<string, object>> entityKeyValues =
            new KeyValuePair<string, object>[] {
            new KeyValuePair<string, object>("SalesOrderID", 43680) };

        // Create the  key for a specific SalesOrderHeader object.
        EntityKey key = new EntityKey("AdventureWorksEntities.SalesOrderHeaders", entityKeyValues);

        // Get the object from the context or the persisted store by its key.
        SalesOrderHeader order =
            (SalesOrderHeader)context.GetObjectByKey(key);

        Console.WriteLine("SalesOrderID: {0} Order Number: {1}",
            order.SalesOrderID, order.SalesOrderNumber);
    }
    catch (ObjectNotFoundException ex)
    {
        Console.WriteLine(ex.ToString());
    }
}

Kommentarer

GetObjectByKey försöker hämta ett objekt som har angivet EntityKey från ObjectStateManager. Om objektet för närvarande inte läses in i objektkontexten körs en fråga i ett försök att returnera objektet från datakällan. Mer information finns i Objektfrågor.

GetObjectByKey genererar en ObjectNotFoundException när objektet inte kan hittas. Använd i stället metoden för TryGetObjectByKey att undvika att hantera det här undantaget.

Den här metoden returnerar objekt i tillståndet Deleted .

Det går inte att använda en tillfällig nyckel för att returnera ett objekt från datakällan.

Gäller för

Se även