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.v24.1.dll
NuGet Packages: DevExpress.Win.PivotGrid, DevExpress.Win.TreeMap, DevExpress.Xpo
NuGet Package: DevExpress.Xpo
Declaration
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.
Related GitHub Examples
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.