示例#1
0
        private void ParseColumn(TableMetaData metaTable, Column column)
        {
            var meta_col = new ColumnMetaData();

            meta_col.Name            = column.Name;
            meta_col.DbType          = SQLMetaDataHelper.MapCsharpType(column.DataType.ToString());
            meta_col.Comment         = column.ExtendedProperties["MS_Description"]?.Value.ToString().Trim();
            meta_col.IsPrimaryKey    = column.InPrimaryKey;
            meta_col.IsIdentity      = column.Identity;
            meta_col.Nullable        = column.Nullable;
            meta_col.HasDefaultValue = column.DefaultConstraint != null && !string.IsNullOrWhiteSpace(column.DefaultConstraint.Text);
            metaTable.Columns.Add(meta_col);

            // 主键
            if (column.InPrimaryKey)
            {
                metaTable.PrimaryKey.Add(meta_col);
                metaTable.ExistPredicate.Add(meta_col);
                metaTable.WherePredicate.Add(meta_col);
            }

            // 标识
            if (column.Identity)
            {
                metaTable.Identity = meta_col;
            }
        }