示例#1
0
        private void Equals_2()
        {
            Expression <Func <Student, bool> > exp        = it => SqlFunc.Equals(it.Name, it.Name);
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, " (\"NAME\" = \"NAME\") ", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", "a")
            }, "Equals_2 error");


            Expression <Func <Student, bool> > exp2        = it => SqlFunc.Equals("a", "a2");
            OracleExpressionContext            expContext2 = new OracleExpressionContext();

            expContext2.Resolve(exp2, ResolveExpressType.WhereSingle);
            var value2 = expContext2.Result.GetString();
            var pars2  = expContext2.Parameters;

            base.Check(value2, pars2, " (:MethodConst0 = :MethodConst1) ", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", "a"), new SugarParameter(":MethodConst1", "a2")
            }, "Equals2 error");
        }
示例#2
0
        private void single()
        {
            int p = 1;
            Expression <Func <Student, object> > exp = it => new Student()
            {
                Name = "a", Id = it.Id, SchoolId = p, TestId = it.Id + 11
            };
            OracleExpressionContext expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.SelectSingle);
            var selectorValue = expContext.Result.GetString();
            var pars          = expContext.Parameters;

            base.Check(
                selectorValue,
                pars,
                @" :CONSTANT0 AS ""NAME"" , ""ID"" AS ""ID"" , :CONSTANT1 AS ""SCHOOLID"" , ( ""ID"" + :ID2 ) AS ""TESTID""  ",
                new List <SugarParameter>()
            {
                new SugarParameter(":constant0", "a"),
                new SugarParameter(":constant1", 1),
                new SugarParameter(":Id2", 11)
            },
                "Select.single Error");
        }
示例#3
0
        private void ContainsArray()
        {
            string[] array = new string[] { "1", "2" };
            Expression <Func <Student, bool> > exp        = it => SqlFunc.ContainsArray(array, it.Name);
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, null, "  (\"NAME\" IN ('1','2')) ", null, "Contains2 error");
        }
示例#4
0
        private void HasNumber()
        {
            Expression <Func <Student, bool> > exp        = it => SqlFunc.HasNumber(it.Id);
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"ID\">0 AND \"ID\" IS NOT NULL )", new List <SugarParameter>()
            {
            }, "HasNumber error");
        }
示例#5
0
        private void whereSingle11()
        {
            Expression <Func <Student, bool> > exp        = it => !true;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( 1 = 2 )", new List <SugarParameter>()
            {
            }, "whereSingle11");
        }
示例#6
0
        private void whereSingle14()
        {
            Expression <Func <Student, bool> > exp        = it => true && it.Name != null;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(( 1 = 1 ) AND( \"NAME\" IS NOT NULL ))", new List <SugarParameter>()
            {
            }, "whereSingle14");
        }
示例#7
0
        private void whereSingle22()
        {
            Expression <Func <DataTestInfo2, bool> > exp = it => !it.Bool2.Value;
            OracleExpressionContext expContext           = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "NOT ( \"BOOL2\"=1 ) ", new List <SugarParameter>()
            {
            }, "whereSingle22");
        }
示例#8
0
        private void whereSingle8(Student st)
        {
            Expression <Func <Student, bool> > exp        = it => it.Name == null;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"Name\" IS NULL )", new List <SugarParameter>()
            {
            }, "whereSingle8");
        }
示例#9
0
        private void MappingColumn()
        {
            Expression <Func <Student, bool> > exp        = it => SqlFunc.MappingColumn(it.Id, "Name") == 1;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(Name = :Const1 )", new List <SugarParameter>()
            {
                new SugarParameter(":Const1", 1)
            }, "MappingColumn error");
        }
示例#10
0
        private void StringIsNullOrEmpty()
        {
            Expression <Func <Student, bool> > exp        = it => it.Id > 2 || SqlFunc.IsNullOrEmpty(it.Id);;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(( \"ID\" > :Id0 ) OR ( \"ID\"='' OR \"ID\" IS NULL ))", new List <SugarParameter>()
            {
                new SugarParameter(":Id0", 2)
            }, "StringIsNullOrEmpty error");
        }
示例#11
0
        private void ToLower()
        {
            Expression <Func <Student, bool> > exp        = it => "a" == SqlFunc.ToLower(it.Id);
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( :Const0 = (LOWER(\"ID\")) )", new List <SugarParameter>()
            {
                new SugarParameter(":Const0", "a")
            }, "ToLower error");
        }
示例#12
0
        private void Trim()
        {
            Expression <Func <Student, bool> > exp        = it => SqlFunc.Trim("  a") == it.Name;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(trim(:MethodConst0) = \"NAME\" )", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", "  a")
            }, "Trim error");
        }
示例#13
0
        private void Contains2(string name = "a")
        {
            Expression <Func <Student, bool> > exp        = it => SqlFunc.Contains(it.Name, name);
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, " (\"NAME\" like '%'||:MethodConst0||'%') ", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", "a")
            }, "Contains2 error");
        }
示例#14
0
        private void Between()
        {
            Expression <Func <Student, bool> > exp        = it => SqlFunc.Between(it.Name, 1, 2);
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, " (\"NAME\" BETWEEN :MethodConst0 AND :MethodConst1) ", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", 1), new SugarParameter(":MethodConst1", 2),
            }, "Between error");
        }
示例#15
0
        private void ConvetToString()
        {
            Expression <Func <Student, bool> > exp        = it => Convert.ToString(it.Id) == "a";
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(CAST(\"ID\" AS VARCHAR2(4000)) = :Const0 )", new List <SugarParameter>()
            {
                new SugarParameter(":Const0", "a")
            }, "ConvetToString error");
        }
示例#16
0
        private void single4(int p = 1)
        {
            Expression <Func <Student, object> > exp = it => it.CreateTime.HasValue;
            OracleExpressionContext expContext       = new OracleExpressionContext();

            expContext.IsSingle = false;
            expContext.Resolve(exp, ResolveExpressType.WhereMultiple);
            var selectorValue = expContext.Result.GetString();
            var pars          = expContext.Parameters;

            base.Check(
                @"( ""IT"".""CREATETIME""<>'' AND ""IT"".""CREATETIME"" IS NOT NULL )", null, selectorValue, null,
                "Select.single4 Error");
        }
示例#17
0
        private void Length3()
        {
            Expression <Func <Student, bool> > exp        = it => it.Name.Length > "a".Length;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(LENGTH(\"NAME\") > :Length1 )", new List <SugarParameter>()
            {
                new SugarParameter(":Length1", 1)
            }, "Length3 error");
        }
示例#18
0
        private void whereSingle1()
        {
            Expression <Func <Student, bool> > exp        = it => it.Id > 1;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"Id\" > :Id0 )", new List <SugarParameter>()
            {
                new SugarParameter(":Id0", 1)
            }, "whereSingle1");
        }
示例#19
0
        private void whereSingle17()
        {
            Expression <Func <DataTestInfo, bool> > exp = it => true && it.String.Contains("a");
            OracleExpressionContext expContext          = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(( 1 = 1 ) AND (\"STRING\" like '%'+:MethodConst1+'%') )", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst1", "a")
            }, "whereSingle17");
        }
示例#20
0
        private void whereSingle19()
        {
            Expression <Func <DataTestInfo2, bool> > exp = it => it.Bool2.Value == false;
            OracleExpressionContext expContext           = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"BOOL2\" = :Value0 )", new List <SugarParameter>()
            {
                new SugarParameter(":Value0", false)
            }, "whereSingle19");
        }
示例#21
0
        private void whereSingle9(Student st)
        {
            Expression <Func <Student, bool> > exp        = it => it.Name == st.Name;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"NAME\" = :Name0 )", new List <SugarParameter>()
            {
                new SugarParameter(":Name0", null)
            }, "whereSingle9");
        }
示例#22
0
        private void whereSingle15()
        {
            Expression <Func <DataTestInfo, bool> > exp = it => it.Money2 == 1;
            OracleExpressionContext expContext          = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"MONEY2\" = :Const0 )", new List <SugarParameter>()
            {
                new SugarParameter(":Const0", 1)
            }, "whereSingle15");
        }
示例#23
0
        private void whereSingle12()
        {
            Expression <Func <DataTestInfo2, bool> > exp = it => it.Bool1 == true;
            OracleExpressionContext expContext           = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"Bool1\" = @Bool10 )", new List <SugarParameter>()
            {
                new SugarParameter("@Bool10", true)
            }, "whereSingle12");
        }
示例#24
0
        private void DateAddDay()
        {
            var x2 = DateTime.Now;
            Expression <Func <Student, bool> > exp        = it => SqlFunc.DateAdd(x2, 1) == x2;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "((:MethodConst0+(1*:MethodConst1)) = :Const2 )", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", x2), new SugarParameter(":MethodConst1", 1), new SugarParameter(":Const2", x2)
            }, "DateAddDay error");
        }
示例#25
0
        private void whereSingle23()
        {
            decimal?val = 1;
            Expression <Func <DataTestInfo, bool> > exp = it => it.Decimal2 == val.Value;
            OracleExpressionContext expContext          = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "( \"DECIMAL2\" = :Const0 )", new List <SugarParameter>()
            {
                new SugarParameter(":Const0", val)
            }, "whereSingle23");
        }
示例#26
0
        private void DateIsSameByDay()
        {
            var x2 = DateTime.Now;
            Expression <Func <Student, bool> > exp        = it => SqlFunc.DateIsSame(x2, x2);
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, " (ROUND(TO_NUMBER(:MethodConst0 - :MethodConst1))=0) ", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", x2), new SugarParameter(":MethodConst1", x2)
            }, "DateIsSameDay error");
        }
示例#27
0
        private void StringIsNullOrEmpty2()
        {
            Expression <Func <Student, bool> > exp        = it => 2 == it.Id || SqlFunc.IsNullOrEmpty(true);;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "(( :Id0 = \"ID\" ) OR ( :MethodConst1='' OR :MethodConst1 IS NULL ))", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst1", true),
                new SugarParameter(":Id0", 2)
            }, "StringIsNullOrEmpty2 error");
        }
示例#28
0
        private void StringIsNullOrEmpty5()
        {
            WhereConst.name = "xx";
            Expression <Func <Student, bool> > exp        = it => !SqlFunc.IsNullOrEmpty(WhereConst.name);;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, "NOT( :MethodConst0='' OR :MethodConst0 IS NULL )", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", "xx")
            }, "StringIsNullOrEmpty5 error");
        }
示例#29
0
        private void DateValue()
        {
            var x2 = DateTime.Now;
            Expression <Func <Student, bool> > exp        = it => SqlFunc.DateValue(x2, DateType.Year) == 1;
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, " ((CAST(TO_CHAR(:MethodConst0,'yyyy') AS NUMBER) = :Const2 )", new List <SugarParameter>()
            {
                new SugarParameter(":MethodConst0", x2), new SugarParameter(":Const2", 1)
            }, "DateValue error");
        }
示例#30
0
        private void whereSingle3()
        {
            Expression <Func <Student, bool> > exp        = it => it.Id > 1 || it.Name == "a";
            OracleExpressionContext            expContext = new OracleExpressionContext();

            expContext.Resolve(exp, ResolveExpressType.WhereSingle);
            var value = expContext.Result.GetString();
            var pars  = expContext.Parameters;

            base.Check(value, pars, " (( \"Id\" > @Id0 ) OR ( \"Name\" = @Name1 ))", new List <SugarParameter>()
            {
                new SugarParameter("@Id0", 1),
                new SugarParameter("@Name1", "a")
            }, "whereSingle3");
        }