Session.FindObjectAsync(XPClassInfo, CriteriaOperator, CancellationToken) Method
Asynchronously searches for the first object that matches the specified criteria.
Namespace: DevExpress.Xpo
Assembly: DevExpress.Xpo.v24.2.dll
NuGet Package: DevExpress.Xpo
#Declaration
public Task<object> FindObjectAsync(
XPClassInfo classInfo,
CriteriaOperator criteria,
CancellationToken cancellationToken = default(CancellationToken)
)
#Parameters
Name | Type | Description |
---|---|---|
class |
XPClass |
An XPClass |
criteria | Criteria |
A Criteria |
#Optional Parameters
Name | Type | Default | Description |
---|---|---|---|
cancellation |
Cancellation |
null | A Cancellation |
#Returns
Type | Description |
---|---|
Task<Object> | A Task that returns an object. This object represents the first persistent object that matches the specified criteria. null (Nothing in Visual Basic) if no persistent object is found that matches the criteria. |
#Remarks
The example below demonstrates how to use this method. Here, session is the Session instance.
using System.Threading;
using DevExpress.Data.Filtering;
using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
// ...
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken cancellationToken = source.Token;
XPClassInfo personClassInfo = session.GetClassInfo(typeof(Person));
Person personToUpdate = (Person)await session.FindObjectAsync(personClassInfo,
CriteriaOperator.Parse("Name='Michael Suyama'"), cancellationToken);
if(personToUpdate != null) {
personToUpdate.Birthday = new DateTime(1986, 10, 31);
session.Save(personToUpdate);
}
Persistent objects that are marked as deleted in the database (see Deferred and Immediate Object Deletion) are not included in the search.