Skip to main content
.NET 8.0+

Session.ExecuteScalarAsync(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.

Executes the specified SQL query and returns the first column of the first row in the result set returned by the query.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v25.2.dll

NuGet Package: DevExpress.Xpo

Declaration

public Task<object> ExecuteScalarAsync(
    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<Object>

A Task<TResult> that returns the first column of the first row in the query’s result set. A null reference (Nothing in Visual Basic) if the result set does not contain columns. DBNull.Value if the first column does not contain a value.

Remarks

Use ExecuteScalarAsync to query data stores for a single or aggregate value, without having to retrieve a result set.

using System.Threading;
using System.Threading.Tasks;
using DevExpress.Xpo;
using DevExpress.Xpo.DB;
// ...
CancellationTokenSource cts = new CancellationTokenSource();
int ordersCount = await GetOrdersCountAsync(cts.Token);
// ...
public async Task<int> GetOrdersCountAsync(CancellationToken cancellationToken) {
    const string queryString = 
        "SELECT COUNT(*) FROM [Northwind].[dbo].[Orders]";
    object result = await session.ExecuteScalarAsync(
        queryString, 
        cancellationToken
    );
    return (int)result;
}

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

Note

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

See Also