Session.GetObjectsFromSprocAsync(CancellationToken, XPClassInfo, LoadDataMemberOrderItem[], String, OperandValue[]) Method
Asynchronously executes a stored procedure and returns its result set as a collection of non-persistent objects.
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 |
---|---|---|
cancellationToken | CancellationToken | A CancellationToken object that delivers a cancellation notice to the running operation. |
classInfo | XPClassInfo | An XPClassInfo object which contains the metadata information on a non-persistent class corresponding to the stored procedure’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 stored procedure’s result set columns. |
sprocName | String | A String value that specifies the stored procedure’s name. |
parameters | OperandValue[] | An array of OperandValue objects representing parameters to pass to the stored procedure. |
Returns
Type | Description |
---|---|
Task<ICollection> | A Task<TResult> that returns a collection of non-persistent classInfo objects instantiated with data obtained via the specified stored procedure. |
Remarks
XPClassInfo classInfo = session.GetClassInfo<CustOrderHistModel>();
LoadDataMemberOrderItem[] members = new LoadDataMemberOrderItem[] {
new LoadDataMemberOrderItem(0, nameof(CustOrderHistModel.ProductName)),
new LoadDataMemberOrderItem(1, nameof(CustOrderHistModel.Total))
};
ICollection sprocResultData = await session.GetObjectsFromSprocAsync(CancellationToken.None, classInfo, members, "CustOrderHist", "ALFKI");
This method performs the following:
- Asynchronously executes the specified stored procedure with parameters and obtains the result as a result set.
- Populates a collection with classInfo objects that are instantiated with the result set’s data. The type and the order of classInfo members should exactly match the result set’s columns. Note that classInfo should represent a non-persistent class decorated with a NonPersistentAttribute.
Note
The GetObjectsFromSprocAsync method throws an exception if classInfo members include any of the following:
- 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 stored procedures in XPO and retrieving objects from the results, refer to Stored Procedures.