public bool GetBooleanSafe(int columnIndex) { if (ReaderCache[columnIndex] is BooleanReaderCacheContainer) { return GetBoolean(columnIndex); } else { return Convert.ToBoolean(GetValue(columnIndex)); } }