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

Session.FindObject<ClassType>(CriteriaOperator) Method

Searches for the first object of the type designated by the specified generic type parameter which matches the specified criteria.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v21.1.dll


public ClassType FindObject<ClassType>(
    CriteriaOperator criteria


Name Type Description
criteria CriteriaOperator

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

Type Parameters

Name Description

The type of objects to search for.


Type Description

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


Below is an example of using the FindObject<ClassType> method. Here, session is the Session instance.

Person personToUpdate = session.FindObject<Person>(CriteriaOperator.Parse("Name='Michael Suyama'"));
if(personToUpdate != null) {
    personToUpdate.Birthday = new DateTime(1986, 10, 31);

Criteria are evaluated on the data store side. Objects created within a transaction (Cache), are not processed by the criteria. Objects modified within a transaction are not processed. Instead, their images, stored in the data store, are processed by the criteria.

To specify how filter criteria are evaluated within a transaction, use the overloaded FindObject method that takes the PersistentCriteriaEvaluationBehavior value as a parameter.

Persistent objects that are marked as deleted in the database (see Deferred and Immediate Object Deletion) are not included in the search.

See Also