Exemplo n.º 1
0
        /// <summary>
        /// Возвращает сущуствующий столбец таблицы.
        /// </summary>
        /// <param name="tableInfo">Сущуствующая таблица.</param>
        /// <returns></returns>
        private DBColumnInfo GetExistingColumn(DBTableInfo tableInfo)
        {
            if (tableInfo == null)
            {
                throw new ArgumentNullException("tableInfo");
            }

            DBColumnInfo existingColumn = null;

            //если столбец является инкрементом, получаем существующий столбец с инкрементом таблицы
            if (this.IsIdentity && tableInfo.IdentityColumn != null)
            {
                existingColumn = tableInfo.IdentityColumn;
            }
            //в ином случаем получаем столбец по названию.
            else
            {
                existingColumn = tableInfo.GetColumn(this.Name);
            }

            return(existingColumn);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Возвращает существующий столбец таблицы.
        /// </summary>
        /// <param name="columnName">Название столбца.</param>
        /// <param name="throwNotFoundException">При переданном значение true генерирует исключение в случае отсутствия столбца в таблице.</param>
        /// <returns></returns>
        public DBColumnInfo GetColumn(string columnName, bool throwNotFoundException)
        {
            if (string.IsNullOrEmpty(columnName))
            {
                throw new ArgumentNullException("columnName");
            }

            //получаем столбец
            string       columnNameLow = columnName.ToLower();
            DBColumnInfo column        = null;

            if (this.ColumnsByName.ContainsKey(columnNameLow))
            {
                column = this.ColumnsByName[columnNameLow];
            }

            if (column == null && throwNotFoundException)
            {
                throw new Exception(string.Format("Не удалось получить существующий столбец [{0}] в таблице {1}.", columnName, this.Name));
            }

            return(column);
        }