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

Session.FindObject(PersistentCriteriaEvaluationBehavior, XPClassInfo, CriteriaOperator, Boolean) Method

Searches for the first object which matches the specified criteria.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v21.2.dll


public object FindObject(
    PersistentCriteriaEvaluationBehavior criteriaEvaluationBehavior,
    XPClassInfo classInfo,
    CriteriaOperator criteria,
    bool selectDeleted


Name Type Description
criteriaEvaluationBehavior PersistentCriteriaEvaluationBehavior

A PersistentCriteriaEvaluationBehavior enumeration value that specifies how the persistent criteria is evaluated.

classInfo XPClassInfo

An XPClassInfo object which contains the metadata information of the class.

criteria CriteriaOperator

A CriteriaOperator descendant which represents the criteria to match persistent objects.

selectDeleted Boolean

true to include persistent objects marked as deleted into the search; otherwise, false.


Type Description

An object which represents the first persistent object which matches the specified criteria. null (Nothing in Visual Basic) if no persistent object which matches the criteria is found.


The example below demonstrates how to use this method. Here, session is the Session instance.

using DevExpress.Data.Filtering;
using DevExpress.Xpo;
using DevExpress.Xpo.Metadata;
// ...
XPClassInfo personClassInfo = session.GetClassInfo(typeof(Person));
Person personToUpdate = (Person)session.FindObject(PersistentCriteriaEvaluationBehavior.BeforeTransaction, 
    personClassInfo, CriteriaOperator.Parse("Name='Michael Suyama'"), true);
if(personToUpdate != null) {
    personToUpdate.Birthday = new DateTime(1986, 10, 31);

Persistent objects that are marked as deleted in the database (see Deferred and Immediate Object Deletion) are can be optionally included in the search using the selectDeleted parameter.

See Also