public int GetInt32Safe(int columnIndex) { if (ReaderCache[columnIndex] is Int32ReaderCacheContainer) { return GetInt32Unsafe(columnIndex); } else { return Convert.ToInt32(GetValue(columnIndex)); } }