Following section demonstrates using ExecuteCount, to get count of row(s).
// Table Aliases
var t0 = new Orders().AsQueryable();
using(var exc = cn.Executer()) {
var query = Odb.SQL.Select(x => x.From(t0)).OrderBy(t0.OrderID);
var result = exc.Sql(query).Read().FirstOrDefault()[0];
}
dRfL97
Limitations of ExecuteCount
-
All selection fields are ignored and only value of the COUNT() is returned.
-
Order clause are removed from the query. Because it is not necessary.
To counting the row(s) by excluding NULL values, you have to use COUNT with a column.
// Table Aliases
var t0 = new Orders().AsQueryable();
using(var exc = cn.Executer()) {
var query = Odb.SQL.Select(x => x.From(t0).Fields( x[t0.OrderID].COUNT() ));
var result = (int?)(sql.ExecuteReader(cn).FirstOrDefault()[0]) ?? 0;
}
dRfL97