Skip to main content
.NET 6.0+

Session.ExecuteQueryAsync(String, CancellationToken) Method

Asynchronously executes the specified SQL query and returns a result set.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v23.2.dll

NuGet Package: DevExpress.Xpo

Declaration

public Task<SelectedData> ExecuteQueryAsync(
    string sql,
    CancellationToken cancellationToken = default(CancellationToken)
)

Parameters

Name Type Description
sql String

Specifies an SQL statement.

Optional Parameters

Name Type Default Description
cancellationToken CancellationToken null

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

Returns

Type Description
Task<SelectedData>

A Task<TResult> that returns the data retrieved from the data store.

Remarks

Use ExecuteQueryAsync to asynchronously query data stores for result sets. You can visualize result sets via the XPDataView. To learn how to access the resulting data, refer to How to: Access Data in SQL Query Results.

The example below demonstrates how to use this method. Here, session is the Session instance.

using System.Threading;
using System.Threading.Tasks;
using DevExpress.Xpo;
using DevExpress.Xpo.DB;
// ...
CancellationTokenSource cts = new CancellationTokenSource();
SelectedData data = await GetEmployeesSimpleDataAsync(cts.Token);
// ...
public async Task<SelectedData> GetEmployeesSimpleDataAsync(CancellationToken cancellationToken) {
    const string queryString = 
        @"SELECT EmployeeID, (FirstName + ' ' + LastName) as Name, City, Country 
        FROM [Northwind].[dbo].[Employees]";
    return await session.ExecuteQueryAsync(queryString, cancellationToken);
}

To learn more about executing SQL queries in XPO, refer to Direct SQL Queries.

Note

The ExecuteQueryAsync method sends queries directly, so the correct query syntax depends on a particular database server.

See Also