Skip to main content
All docs
V26.1
  • .NET Framework 4.6.2+

    Session.ExecuteQueryAsync(String, CancellationToken) Method

    SECURITY-RELATED CONSIDERATIONS

    This method executes a raw SQL query string. Always validate, sanitize, or parameterize externally supplied SQL query strings to prevent unauthorized access to sensitive information.

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

    Namespace: DevExpress.Xpo

    Assembly: DevExpress.Xpo.v26.1.dll

    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.

    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