Skip to main content
.NET 6.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.v23.2.dll

NuGet Package: DevExpress.Xpo

Declaration

public ClassType FindObject<ClassType>(
    CriteriaOperator criteria
)

Parameters

Name Type Description
criteria CriteriaOperator

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

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

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

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.

The following code snippets (auto-collected from DevExpress Examples) contain references to the FindObject<ClassType>(CriteriaOperator) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also