.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

Session.GetObjectByKeyAsync<ClassType>(Object, Boolean, CancellationToken) Method

Asynchronously returns a persistent object that has the specified key property value. The persistent object’s type is set by the generic type parameter.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v21.2.dll


public Task<ClassType> GetObjectByKeyAsync<ClassType>(
    object id,
    bool alwaysGetFromDataStore,
    CancellationToken cancellationToken = default(CancellationToken)


Name Type Description
id Object

An object that represents the persistent object’s key property value.

alwaysGetFromDataStore Boolean

true, to always reload the persistent object from storage even if it is found in memory; otherwise, false.

Optional Parameters

Name Type Default Description
cancellationToken CancellationToken


A CancellationToken object that delivers a cancellation notice to the running operation.

Type Parameters

Name Description

A type of objects to search for.


Type Description

A Task that returns a persistent object from a data store. This persistent object has the specified key property value and a type specified by the generic type parameter. The task returns null if no objects are found.


Below is an example of using the GetObjectByKeyAsync<ClassType> method. Here, the session is the Session instance.

using System.Threading;
using DevExpress.Xpo;
// ...
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken cancellationToken = source.Token;
Person personToDelete = await session.GetObjectByKeyAsync<Person>(152, true, cancellationToken);

The GetObjectByKeyAsync<ClassType> method searches the memory for the object with the specified key property value. If such an object is found, it is not reloaded. To get the up-to-date object from the data store, the alwaysGetFromDataStore parameter must be set to true.

See Also