Skip to main content
.NET 6.0+

Session.GetObjectsFromQuery(XPClassInfo, LoadDataMemberOrderItem[], String, Object[]) Method

Executes a SQL query and returns its result set as a collection of non-persistent objects.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v23.2.dll

NuGet Package: DevExpress.Xpo

Declaration

public ICollection GetObjectsFromQuery(
    XPClassInfo classInfo,
    LoadDataMemberOrderItem[] members,
    string sql,
    object[] parameterValues
)

Parameters

Name Type Description
classInfo XPClassInfo

An XPClassInfo object which contains the metadata information on a non-persistent class corresponding to the query’s result set. The class must be decorated with NonPersistentAttribute.

members LoadDataMemberOrderItem[]

An array of LoadDataMemberOrderItem objects which provide mapping information for classInfo members and the query’s result set columns.

sql String

Specifies an SQL statement.

parameterValues Object[]

An array of objects specifying parameters to pass to the database server along with the query.

Returns

Type Description
ICollection

A collection of non-persistent classInfo objects instantiated with data obtained via the specified SQL query.

Remarks

This method performs the following:

  • Executes the specified SQL query and obtains the query result as a result set.
  • Populates a collection with classInfo objects that are instantiated with the result set’s data, based on the mapping information passed as the members parameter. Note that classInfo should represent a non-persistent class decorated with a NonPersistentAttribute.

Note

The GetObjectsFromQuery method throws an exception if the members array includes any of the following classInfo members:

  • A property that is not defined within the classInfo object.
  • A struct type member.
  • A reference to a class with a struct type member.
  • A collection used in object relations.

To learn more about executing SQL queries in XPO and retrieving objects from query results, refer to Direct SQL Queries.

See Also