Condividi tramite


ObjectContext.GetObjectByKey(EntityKey) Metodo

Definizione

Restituisce un oggetto contenente la chiave di entità specificata.

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

Parametri

key
EntityKey

Chiave dell'oggetto da trovare.

Restituisce

Oggetto Object che rappresenta un'istanza di un tipo di entità.

Eccezioni

Il valore del parametro key è null.

L'oggetto non viene trovato nell'oggetto ObjectStateManager né nell'origine dati.

Esempio

In questo esempio viene creato un oggetto EntityKey per un'entità del tipo specificato e quindi recupera un'entità in base alla chiave.

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());
    }
}

Commenti

GetObjectByKey tenta di recuperare un oggetto contenente l'oggetto EntityKey specificato da ObjectStateManager. Se l'oggetto non è attualmente caricato nel contesto dell'oggetto, viene eseguita una query nel tentativo di restituire l'oggetto dall'origine dati. Per altre informazioni, vedere Query sugli oggetti.

GetObjectByKey genera un'eccezione ObjectNotFoundException quando non è possibile trovare l'oggetto. Per evitare di gestire questa eccezione, utilizzare invece il metodo TryGetObjectByKey.

Questo metodo restituirà gli oggetti che si trovano nello stato Deleted.

Non è possibile utilizzare una chiave temporanea per restituire un oggetto dall'origine dati.

Si applica a

Vedi anche