ObjectContext.TryGetObjectByKey(EntityKey, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект с указанным ключом сущности.
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
Параметры
- key
- EntityKey
Ключ найденного объекта.
- value
- Object
Когда этот метод возвращается, содержит объект.
Возвращаемое значение
true Значение , если объект был успешно получен.
Исключения
Несовместимые метаданные для key.
key равно null.
Примеры
В этом примере создается EntityKey сущность заданного типа, а затем пытается получить сущность по ключу.
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.");
}
}
Комментарии
TryGetObjectByKey пытается получить объект, имеющий указанный EntityKey из объекта ObjectStateManager. Если объект в настоящее время не загружен в контекст объекта, запрос выполняется в попытке вернуть объект из источника данных.
TryGetObjectByKey Используйте метод, чтобы избежать обработки вызываемого ObjectNotFoundExceptionGetObjectByKey объекта, если объект не найден.
Этот метод вернет объекты в Deleted состоянии.
Временный ключ нельзя использовать для возврата объекта из источника данных.
Метод TryGetObjectByKey применяет стандартный шаблон .NET TryParse для метода GetObjectByKey, возвращая false при перехвате ObjectNotFoundException.