private StorageTypeInfo CreateType(Type type, int?length, int?precision, int?scale) { var sqlValueType = driver.MapValueType(type, length, precision, scale); return(new StorageTypeInfo( driver.MapSqlType(sqlValueType.Type), sqlValueType, sqlValueType.Length, sqlValueType.Precision, sqlValueType.Scale)); }
/// <summary> /// Extracts the <see cref="StorageTypeInfo"/> from <see cref="TableColumn"/>. /// </summary> /// <param name="column">The column.</param> /// <returns>Data type.</returns> private StorageTypeInfo ExtractType(TableColumn column) { var sqlValueType = column.DataType; Type type; try { type = driver.MapSqlType(sqlValueType.Type); } catch (ArgumentException) { return(StorageTypeInfo.Undefined); } if (column.IsNullable) { type = type.ToNullable(); } return(new StorageTypeInfo(type, sqlValueType, column.IsNullable, sqlValueType.Length, sqlValueType.Precision, sqlValueType.Scale)); }