public static void Main()
var compiler = new SqlServerCompiler();
var qCountMultipleCol = new Query("Table")
.AsCount("Id","Description");
var qConcat1 = new Query("Table")
.SelectRaw("COUNT(DISTINCT CONCAT([Id], [Description]))");
var qSubquery = new Query()
.From(subQuery => subQuery.Select("Id", "Description").Distinct().From("Table"))
var rCountMultipleCol = compiler.Compile(qCountMultipleCol);
var rConcat1 = compiler.Compile(qConcat1);
var rSubquery = compiler.Compile(qSubquery);
Console.WriteLine("Std AsCount multi-column:\r\n{0}", rCountMultipleCol);
Console.WriteLine("Count distinct concat:\r\n{0}", rConcat1);
Console.WriteLine("Count subquery distinct:\r\n{0}", rSubquery);