Esempio n. 1
0
        private object GetDefaultValue(DataRow row, SqlServerColumnSchema column, TableSchema table)
        {
            object defaultValue       = null;
            string defaultValueString = null;

            if (row.IsNull(ColumnsSchemaNames.ColumnDefault))
            {
                defaultValue = column.AllowNull ? DBNull.Value : _defaultValueMapping[column.SqlDbType];
            }
            else
            {
                defaultValueString = GetDefaultValueString((string)row[ColumnsSchemaNames.ColumnDefault]);
                defaultValue       = GetDefaultValueFromString(defaultValueString, column.SqlDbType);
            }

            SqlServerParseDefaultValueEventArgs e = new SqlServerParseDefaultValueEventArgs(
                table.Name, column.Name, column.SqlDbType, defaultValueString, defaultValue);

            OnParseDefaultValue(e);
            if (e.Handled)
            {
                defaultValue = e.DefaultValue;
            }

            if ((defaultValue == null) || (defaultValue == DBNull.Value))
            {
                return(column.AllowNull ? DBNull.Value : _defaultValueMapping[column.SqlDbType]);
            }
            return(defaultValue);
        }
Esempio n. 2
0
 /// <summary>
 /// Raises the <see cref="ParseDefaultValue"/> event with arguments <paramref name="e"/>.
 /// </summary>
 /// <param name="e">Arguments for the event.</param>
 protected virtual void OnParseDefaultValue(SqlServerParseDefaultValueEventArgs e)
 {
     ParseDefaultValue?.Invoke(this, e);
 }