BimlGen.BimlService.GetColumns C# (CSharp) Method

GetColumns() public method

public GetColumns ( Microsoft table ) : List
table Microsoft
return List
        public List<Column> GetColumns( Microsoft.SqlServer.Management.Smo.Table table )
        {
            var columns = new List<Column>();
            foreach (Microsoft.SqlServer.Management.Smo.Column column in table.Columns)
            {
                var dataType = column.DataType.GetClrType().Replace( "System.", "" );
                var bimlColumn = new Column
                    {
                        Name = column.Name,
                        DataType = dataType,
                    };

                if (column.Nullable)
                    bimlColumn.IsNullable = true.ToString().ToLower();

                bool dataTypeHasLength = ( dataType.Equals( "string", StringComparison.OrdinalIgnoreCase )
                                           || dataType.Equals( "ansistring", StringComparison.OrdinalIgnoreCase )
                                           || dataType.Equals( "ansistringfixedlength", StringComparison.OrdinalIgnoreCase )
                                           || dataType.Equals( "binary", StringComparison.OrdinalIgnoreCase ) );
                if (dataTypeHasLength)
                    bimlColumn.Length = column.DataType.MaximumLength.ToString( CultureInfo.InvariantCulture );

                var annotations = GetAnnotations( column.ExtendedProperties );
                if (annotations.Any())
                    bimlColumn.Annotations = annotations;

                columns.Add( bimlColumn );
            }
            return columns;
        }