Skip to main content
.NET 6.0+

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

Searches for the first object which matches the specified criteria.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v23.2.dll

NuGet Package: DevExpress.Xpo

Declaration

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

Parameters

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.

Returns

Type Description
Object

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.

Remarks

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);
    session.Save(personToUpdate);
}

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