Session.GetObjectsFromQuery<T>(String, Object[]) Method
Executes a SQL query and returns its result set as a collection of objects of a non-persistent type specified by the generic type parameter.
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 |
---|---|---|
sql | String | Specifies an SQL statement. |
parameterValues | Object[] | An array of objects specifying parameters to pass to the database server along with the query. |
Type Parameters
Name | Description |
---|---|
T | The type of objects returned by the method. A class that implements this type sould be decorated with NonPersistentAttribute. |
Returns
Type | Description |
---|---|
ICollection<T> | A collection of non-persistent objects of the specified type. |
Remarks
The connection provider automatically generates sequential parameter names (p0, p1, p2 …). To specify custom parameter names, use the overloaded GetObjectsFromQuery<T>(String, String[], Object[]) method.
This method does the following:
- Executes the specified SQL query and obtains the query result.
- Creates objects of the specified type and populates their properties with the resulting set’s data. The members parameter specifies the mapping between columns in the resulting set and object properties. Note that the GetObjectsFromQuery<T> method’s generic type parameter should specify a non-persistent class decorated with a NonPersistentAttribute.
- Populates a collection with these objects.
Note
The GetObjectsFromQuery<T> method throws an exception if the members list includes any of the following object members:
- A property that is not defined within the T type.
- 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 statements in XPO, refer to Direct SQL Queries.
Note
The GetObjectsFromQuery method sends statements directly, so the correct statement syntax and parameter names format depends on a particular database server.