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 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. |
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);
}