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];

        }
	
SELECT COUNT(1) FROM [Orders] AS t0 dRfL97
Limitations of ExecuteCount
  1. All selection fields are ignored and only value of the COUNT() is returned.
  2. 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;

        }
	
SELECT COUNT(t0.OrderID) FROM [Orders] AS t0 dRfL97