public override Dictionary<string, object> ReadHash(long ID) { //cant use GT cause GT calls archive to read data and that would create a recursive loop SqlParameterCollection prms = new SqlCommand().Parameters; prms.AddWithValue("@id", ID); DataTable dt = squtil.ExecuteSingleResultSetSQLQuery(String.Format("select * from {0} where {1} = @id", dbTable, mArchiveControl.cfg.IDColumn), prms); if (dt.Rows.Count == 0) return null; GenericTable gt = new GenericTable(squtil, dbTable, mArchiveControl.cfg.IDColumn); gt.Load(dt.Rows[0]); //this was not archived - it was just put there so we have the ability to archive that data if (this.mArchiveControl.ArchiveType == ArchiveControl.ArchiveTypeEnum.Column) gt.Data.Remove(mArchiveControl.cfg.AgeDeterminingColumn); return gt.Data; }