public IExecutor GetQueryExecutor <R>(SqlQuery aQuery, ResultBinder <R> aBinder) where R : class { if (aQuery is HasCache && aBinder is CacheBinder <R> ) { return(GetExecuteQuery((HasCache)aQuery, (HasMaximum)aQuery)); } return(new DefaultExecutor()); }
public void execute <R>(SqlQuery aQuery, ResultBinder <R> aBinder) where R : class { try { Tracker.SaveQuery(aQuery); QueryExecutorFactory.Current.GetQueryExecutor(aQuery, aBinder).Execute(new QueryInfo <R>(this, aBinder, aQuery)); } catch (Exception anExc) { logger.Error(anExc.Message, anExc); throw anExc; } }
private List <T> Select <T>(ISelectQuery aQuery, ResultBinder <T> aBinder, OnEntitySelect <T> onExecute) where T : class, new() { List <T> dataList = new List <T>(); int i = 0; aBinder.OnBind = delegate(T anEntity) { dataList.Add(anEntity); if (onExecute != null) { onExecute(anEntity, i); i++; } }; Connetion.execute(aQuery, aBinder); return(dataList); }
public QueryInfo(DBConnection aConnection, ResultBinder <R> aBinder, SqlQuery anSqlQuery) { Connection = aConnection; Binder = aBinder; Query = anSqlQuery; }
public void Execute <R>(SqlQuery aQuery, ResultBinder <R> aResultBinder) where R : class { Connetion.execute(aQuery, aResultBinder); }