コード例 #1
0
        public void GetSqlTypeName_NullableValueType()
        {
            var convertExpresion = new SqlConvertExpression(typeof(int?), Expression.Constant("1"));
            var result           = convertExpresion.GetSqlTypeName();

            Assert.That(result, Is.EqualTo("INT"));
        }
コード例 #2
0
        private static string GetColumnType(SqlColumnExpression c)
        {
            var sqlTypeName = SqlConvertExpression.GetSqlTypeName(c.Type);

            // (MAX) types are not valid in primary key columns.
            if (c.IsPrimaryKey)
            {
                return(sqlTypeName.Replace("(MAX)", "(100)"));
            }

            return(sqlTypeName);
        }
コード例 #3
0
        public virtual Expression VisitSqlConvertExpression(SqlConvertExpression expression)
        {
            ArgumentUtility.CheckNotNull("expression", expression);

            _commandBuilder.Append("CONVERT");
            _commandBuilder.Append("(");
            _commandBuilder.Append(expression.GetSqlTypeName());
            _commandBuilder.Append(", ");
            VisitExpression(expression.Source);
            _commandBuilder.Append(")");

            return(expression);
        }
コード例 #4
0
 public void GetSqlTypeName_ForType()
 {
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(string)), Is.EqualTo("NVARCHAR(MAX)"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(int)), Is.EqualTo("INT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(int?)), Is.EqualTo("INT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(bool)), Is.EqualTo("BIT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(bool?)), Is.EqualTo("BIT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(long)), Is.EqualTo("BIGINT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(long?)), Is.EqualTo("BIGINT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(DateTime)), Is.EqualTo("DATETIME"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(DateTime?)), Is.EqualTo("DATETIME"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(decimal)), Is.EqualTo("DECIMAL"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(decimal?)), Is.EqualTo("DECIMAL"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(double)), Is.EqualTo("FLOAT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(double?)), Is.EqualTo("FLOAT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(short)), Is.EqualTo("SMALLINT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(short?)), Is.EqualTo("SMALLINT"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(Guid)), Is.EqualTo("UNIQUEIDENTIFIER"));
     Assert.That(SqlConvertExpression.GetSqlTypeName(typeof(Guid?)), Is.EqualTo("UNIQUEIDENTIFIER"));
 }
コード例 #5
0
        public void GetSqlTypeName_KeyNotFound_ThrowsException()
        {
            var convertExpression = new SqlConvertExpression(typeof(Cook), Expression.Constant("1"));

            convertExpression.GetSqlTypeName();
        }
コード例 #6
0
        public void GetSqlTypeName()
        {
            var result = _convertExpresion.GetSqlTypeName();

            Assert.That(result, Is.EqualTo("INT"));
        }
コード例 #7
0
        private void CheckSqlTypeName(Type type, string expectedSqlTypeName)
        {
            var result = new SqlConvertExpression(type, new CustomExpression(type));

            Assert.That(result.GetSqlTypeName(), Is.EqualTo(expectedSqlTypeName));
        }