All docs
V20.2
21.1 (EAP/Beta)
20.2
20.1
19.2
The page you are viewing does not exist in version 19.2. This link will take you to the root page.
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.
.NET Standard 2.0+
.NET Framework 4.5.2+
.NET Standard 2.0+

Session.GetObjectsFromSprocAsync<T>(CancellationToken, List<XPMemberInfo>, 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.v20.2.dll

Declaration

public Task<ICollection<T>> GetObjectsFromSprocAsync<T>(
    CancellationToken cancellationToken,
    List<XPMemberInfo> members,
    string sprocName,
    params OperandValue[] parameters
)

Parameters

Name Type Description
cancellationToken CancellationToken

A CancellationToken object that delivers a cancellation notice to the running operation.

members List<XPMemberInfo>

Specifies object members mapped to columns in the resulting set. The order of list elements should correspond to the order of the resulting 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.

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
Task<ICollection<T>>

A Task<TResult> that returns a collection of non-persistent objects of the specified type that are instantiated with data obtained via the specified stored procedure.

Remarks

XPClassInfo classInfo = session.GetClassInfo<CustOrderHistModel>();
List<XPMemberInfo> members = new List<XPMemberInfo>() {
    classInfo.GetMember(nameof(CustOrderHistModel.ProductName)),
    classInfo.GetMember(nameof(CustOrderHistModel.Total))
};
ICollection<CustOrderHistModel> sprocResultData = await session.GetObjectsFromSprocAsync<CustOrderHistModel>(CancellationToken.None, 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<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 stored procedures in XPO and retrieving objects from the results, refer to Stored Procedures.

See Also