Session.GetObjectByKeyAsync(XPClassInfo, Object, CancellationToken) Method
Asynchronously returns a persistent object that has the specified key property value.
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 |
---|---|---|
classInfo | XPClassInfo | An XPClassInfo object which contains the metadata information of the class. |
id | Object | An object which represents the key property’s value of the persistent object. |
Optional Parameters
Name | Type | Default | Description |
---|---|---|---|
cancellationToken | CancellationToken | null | A CancellationToken object that delivers a cancellation notice to the running operation. |
Returns
Type | Description |
---|---|
Task<Object> | A Task that returns a persistent object. This persistent object has the specified key property value. The task returns null if no objects are found. |
Remarks
Below is an example of using the GetObjectByKeyAsync method. Here, the session is the Session instance.
using System.Threading;
using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
// ...
XPClassInfo personClassInfo = session.GetClassInfo(typeof(Person));
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken cancellationToken = source.Token;
Person personToDelete = (Person)await session.GetObjectByKeyAsync(personClassInfo, 152, cancellationToken);
session.Delete(personToDelete);
The GetObjectByKeyAsync method searches in 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, use the overloaded Session.GetObjectByKeyAsync method with the alwaysGetFromDataStore parameter set to true.
Note
The GetObjectByKeyAsync method does not find objects until they are saved to a data store.