public static DbEnumeratorData <ExpandoObject> ExecDynCmd(this Context db, SqlCommand execCmd , Action <SqlCommand> setupCmd = null , Action <Exception> onError = null) { var proc = new SqlProcText { CmdText = execCmd.CommandText, Context = db, Connection = db.SqlConnection, Param = null }; SqlDataReader readerGet = null; Func <SqlDataReader> lazyReader = LazyReader(proc, (reader) => readerGet = reader, setupCmd, onError); var numeratorObj = new DbEnumeratorData <ExpandoObject>(lazyReader); if (numeratorObj == null) { return(DbEnumeratorData <ExpandoObject> .Empty); } if (!numeratorObj.ReaderAvailable) { numeratorObj.Reset(); } return(numeratorObj); }
public void Reset() { if (Numerator != null && Numerator.Current != null) { Numerator.Reset(); Reader = Numerator.Reader; } if (Reader != null) { helper = helper ?? new DbMapperDyn(Reader); } }