Skip to main content
.NET 6.0+

Session.FindObject<ClassType>(CriteriaOperator, Boolean) 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.v24.1.dll

NuGet Package: DevExpress.Xpo

Declaration

public ClassType FindObject<ClassType>(
    CriteriaOperator criteria,
    bool selectDeleted
)

Parameters

Name Type Description
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 Parameters

Name Description
ClassType

The type of objects to search for.

Returns

Type Description
ClassType

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.

Remarks

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 can be optionally included in the search using the selectDeleted parameter.

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

using DevExpress.Data.Filtering;
using DevExpress.Xpo;
// ...
Person personToUpdate = session.FindObject<Person>(CriteriaOperator.Parse("Name='Michael Suyama'"), true);
if(personToUpdate != null) {
    personToUpdate.Birthday = new DateTime(1986, 10, 31);
    session.Save(personToUpdate);
}
See Also