ObjectContext.TryGetObjectByKey(EntityKey, Object) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.