Session.ExecuteScalarAsync(String, CancellationToken) Method
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.v24.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 |
---|---|---|---|
cancellation |
Cancellation |
null | A Cancellation |
#Returns
Type | Description |
---|---|
Task<Object> | A Task |
#Remarks
Use ExecuteScalarAsync to query data stores for a single or aggregate value, without having to retrieve a result set.
The following example 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();
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 Execute