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.v24.1.dll
NuGet Packages: DevExpress.Win.PivotGrid, DevExpress.Win.TreeMap, DevExpress.Xpo
NuGet Package: DevExpress.Xpo
Declaration
Parameters
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 | null | A CancellationToken object that delivers a cancellation notice to the running operation. |
Type Parameters
Name | Description |
---|---|
ClassType | A type of objects to search for. |
Returns
Type | Description |
---|---|
Task<ClassType> | 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. |
Remarks
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);
session.Delete(personToDelete);
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.