ObjectContext.TryGetObjectByKey(EntityKey, Object) Metod

Definition

Returnerar ett objekt som har den angivna entitetsnyckeln.

public:
 bool TryGetObjectByKey(System::Data::EntityKey ^ key, [Runtime::InteropServices::Out] System::Object ^ % value);
public bool TryGetObjectByKey(System.Data.EntityKey key, out object value);
member this.TryGetObjectByKey : System.Data.EntityKey * obj -> bool
Public Function TryGetObjectByKey (key As EntityKey, ByRef value As Object) As Boolean

Parametrar

key
EntityKey

Nyckeln för det objekt som ska hittas.

value
Object

När den här metoden returnerar innehåller objektet.

Returer

true om objektet har hämtats. false om är key tillfällig är nullanslutningen , eller value är null.

Undantag

Inkompatibla metadata för key.

key är null.

Exempel

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

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    Object entity = null;
    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.
    if (context.TryGetObjectByKey(key, out entity))
    {
        Console.WriteLine("The requested " + entity.GetType().FullName +
            " object was found");
    }
    else
    {
        Console.WriteLine("An object with this key " +
            "could not be found.");
    }
}

Kommentarer

TryGetObjectByKey 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.

TryGetObjectByKey Använd metoden för att undvika att hantera upphöjt ObjectNotFoundException av GetObjectByKey när objektet inte kan hittas.

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.

Metoden TryGetObjectByKey tillämpar standardmönstret .NET TryParse för metoden GetObjectByKey och returnerar false när ObjectNotFoundException fångas.

Gäller för

Se även