ObjectContext.TryGetObjectByKey(EntityKey, Object) Methode

Definitie

Retourneert een object met de opgegeven entiteitssleutel.

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

Parameters

key
EntityKey

De sleutel van het object dat moet worden gevonden.

value
Object

Wanneer deze methode wordt geretourneerd, bevat het object.

Retouren

true als het object is opgehaald. false als het key tijdelijk is, is de verbinding null, of de value is null.

Uitzonderingen

Incompatibele metagegevens voor key.

key is null.

Voorbeelden

In dit voorbeeld wordt een EntityKey voor een entiteit van het opgegeven type gemaakt en wordt vervolgens geprobeerd een entiteit op sleutel op te halen.

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.");
    }
}

Opmerkingen

TryGetObjectByKey probeert een object op te halen dat is opgegeven EntityKey uit de ObjectStateManager. Als het object momenteel niet in de objectcontext is geladen, wordt een query uitgevoerd in een poging om het object uit de gegevensbron te retourneren. Zie Objectquery's voor meer informatie.

Gebruik de TryGetObjectByKey methode om te voorkomen dat het ObjectNotFoundExceptionGetObjectByKey gegenereerde object wordt verwerkt wanneer het object niet kan worden gevonden.

Met deze methode worden objecten in de Deleted status geretourneerd.

Een tijdelijke sleutel kan niet worden gebruikt om een object uit de gegevensbron te retourneren.

De methode TryGetObjectByKey past het standaardpatroon .NET TryParse toe voor de methode GetObjectByKey, en retourneert false wanneer de ObjectNotFoundException wordt gevangen.

Van toepassing op

Zie ook