public void SqlServerCustomVarCharMaxOverflowParameterSizeAsDataParameter([IncludeDataSources(TestProvName.AllSqlServer2005Plus)] string context)
        {
            using (var db = new DataConnection(context, new MappingSchema()))
            {
                SetupCustomTypes(db.MappingSchema, true);
                using (var table = db.CreateLocalTable <AllTypesCustomMaxLength>())
                {
                    var value = new string('z', 10000);
                    table.Insert(() => new AllTypesCustomMaxLength()
                    {
                        VarChar = new VarChar()
                        {
                            Value = value
                        }
                    });

                    var records = table.ToList();
                    var p       = new VarChar()
                    {
                        Value = value
                    };
                    var sql = table.Where(t => t.VarChar == p).ToString() !;

                    Assert.AreEqual(1, records.Count);
                    Assert.IsNotNull(records[0].VarChar);
                    Assert.AreEqual(value, records[0].VarChar !.Value);
                    Assert.That(sql.Contains(" VarChar(10000) -- AnsiString"));
                }
            }
        }
        public void SqlServerCustomVarCharKnownOverflowParameterSizeAsDataParameter([IncludeDataSources(TestProvName.AllSqlServer)] string context)
        {
            using (var db = new DataConnection(context, new MappingSchema()))
            {
                SetupCustomTypes(db.MappingSchema, true);
                var p = new VarChar()
                {
                    Value = "abcdeabcdeabcdeabcde1"
                };
                var sql = db.GetTable <AllTypesCustomWithLength>().Where(t => t.VarcharDataType == p).ToString();

                Console.WriteLine(sql);

                Assert.That(sql, Contains.Substring("(8000)"));
            }
        }
        public void SqlServerCustomVarChar8000ParameterSize([IncludeDataSources(TestProvName.AllSqlServer)] string context)
        {
            using (var db = new DataConnection(context, new MappingSchema()))
            {
                SetupCustomTypes(db.MappingSchema);
                var p = new VarChar()
                {
                    Value = "abc"
                };
                var sql = db.GetTable <AllTypesCustom>().Where(t => t.VarcharDataType == p).ToString();

                Console.WriteLine(sql);

                Assert.That(sql, Contains.Substring(" VarChar -- AnsiString"));
            }
        }
示例#4
0
 public void Visit(VarChar node)
 {
     VisitChildren(node);
 }
示例#5
0
 public string Visit(VarChar node)
 {
     return("ldc.i4 " + ((int)node.AnchorToken.Lexeme[0]).ToString());
 }