IObjectSpace.GetObjects(Type, CriteriaOperator, IList<SortProperty>, Boolean) Method

Returns a sorted IList collection of objects of the specified type, retrieved to the current Object Space and filtered according to the specified criteria.

Namespace: DevExpress.ExpressApp

Assembly: DevExpress.ExpressApp.v18.1.dll

Syntax

IList GetObjects(
    Type type,
    CriteriaOperator criteria,
    IList<SortProperty> sorting,
    bool inTransaction
)

Parameters

Type Name Description
Type type

The type of the objects to be retrieved.

CriteriaOperator criteria

A CriteriaOperator which specifies the criteria for object selection.

System.Collections.Generic.IList<SortProperty> sorting

An IList<SortProperty> object that specifies sorting.

Boolean inTransaction

true if all objects (in the database and retrieved) are processed by the specified criteria; otherwise, false. Has effect in XPO only.

Returns

Type Description
IList

A IList collection that contains the persistent objects of the specified type. Only objects that satisfy the specified criteria will be retrieved to this collection.

Below is an example of using the GetObjects method. Here, objectSpace is the Object Space instance which can be accessed as described in the Ways to Implement Business Logic topic.

IList activeUsers = objectSpace.GetObjects(
    typeof(PermissionPolicyUser), new BinaryOperator("IsActive", true), true);

When implementing the IObjectSpace interface in the BaseObjectSpace class's descendant, don't implement the GetObjects method. It's implemented in the BaseObjectSpace class. To get the specified objects, the BaseObjectSpace.GetObjects(Type type, CriteriaOperator criteria, bool inTransaction) method invokes a protected virtual CreateCollection method that does nothing and returns null. So, you should override the CreateCollection method in your descendant.