/// <summary> /// Builder for a more complex query /// </summary> /// <typeparam name="TResult"></typeparam> /// <param name="sqlBuilder"></param> /// <param name="cancel"></param> /// <returns></returns> public IQuerySql <TResult> Build <TResult>(Func <IWhere <T>, IGenerateSql <TResult> > sqlBuilder, CancellationToken?cancel = null) { var db = GetDb(); var b = db.GetSqlBuilder().From <T>(); var r = new FluentCommandExecutor <TResult>(db, sqlBuilder(b), Empty.ActionOf <DbCommand>(), true, cancel); return(r); }
public IQuerySql <T> SelectAllColumns(Expression <Func <T, bool> > criteria = null, CancellationToken?cancel = null) { var db = GetDb(); criteria = criteria ?? (x => true); var b = db.GetSqlBuilder().From <T>().Where(criteria).SelectAll(useAsterisk: true); var r = new FluentCommandExecutor <T>(db, b, Empty.ActionOf <DbCommand>(), true, cancel); return(r); }