示例#1
0
    public static CSharpProperty ToCSharpProperty(SqlColumn sqlColumn)
    {
        var cSharpProperty = new CSharpProperty();

        var propertyName = AutomaticPropertyNameRewrites.GetNameWithRewriting(sqlColumn.Name);

        cSharpProperty.Name = propertyName;
        cSharpProperty.ClrAccessModifier = ClrAccessModifier.Public;
        cSharpProperty.IsNullable        = sqlColumn.IsNullable;

        cSharpProperty.DataType = SqlTypes.IsSystemType(sqlColumn.SqlDataType.TypeName)
            ? SqlToClrTypeConverter.GetClrTypeName(sqlColumn.SqlDataType.TypeName)
            : sqlColumn.SqlDataType.TypeName;


        cSharpProperty.DataAnnotationDefinitionBases.AddRange(DataAnnotationFactory.CreateDataAnnotations(sqlColumn));

        return(cSharpProperty);
    }
示例#2
0
    public void TestAgainstSqlDataTypes()
    {
        List <string> sqlDataTypeList = null;

        "Given a list of datatypes from SQL Server."
        ._(() =>
        {
            var connection  = SqlConnectionProviders.AdventureWorksDb;
            sqlDataTypeList = connection.Query <string>("SELECT name FROM sys.Types where is_user_defined=0").ToList();
        });

        "Then we should be able to translate each of the native SQL types to a CLR type"
        ._(() =>
        {
            foreach (var sqlType in sqlDataTypeList)
            {
                var clrType =
                    SqlToClrTypeConverter.GetClrTypeName(sqlType);
            }
        });
    }