Пример #1
0
        public static Field GetField(this SqlDataTypeReference sqlDataTypeReference, string name, bool isNullable, ILogger logger, SchemaFile file)
        {
            var type = sqlDataTypeReference.GetFieldType(logger, file);

            switch (type)
            {
            case FieldType.String:
                return(new StringField()
                {
                    Name = name,
                    Type = type,
                    IsNullable = isNullable,
                    Length = sqlDataTypeReference.GetStringLength(logger),
                });

            case FieldType.Decimal:
            case FieldType.Numeric:
                return(new DecimalField()
                {
                    Name = name,
                    Type = type,
                    IsNullable = isNullable,
                    Precision = sqlDataTypeReference.GetPrecision(logger),
                    Scale = sqlDataTypeReference.GetScale(logger),
                });

            default:
                return(new DefaultField()
                {
                    Name = name,
                    Type = type,
                    IsNullable = isNullable,
                });
            }
        }