예제 #1
0
        public void Update()
        {
            statement = FooSchema.Update((sql, s) => sql.Set(s.oname, "foo2").Where(s.oid == 1));
            Assert.AreEqual("UPDATE foo SET foo.oname='foo2' WHERE foo.oid=1", statement.ToString());

            statement = FooSchema.Table.Update().Set(FooSchema.Instance.oname, "foo2").Where(FooSchema.Instance.oid == 1);
            Assert.AreEqual("UPDATE foo SET foo.oname='foo2' WHERE foo.oid=1", statement.ToString());

            statement = FooSchema.Table.Update().SetVarCustomer(FooSchema.Instance.oname, "@oname").SetC(FooSchema.Instance.isdel, "1").Where(FooSchema.Instance.oid == 1);
            Assert.AreEqual("UPDATE foo SET foo.oname=@oname,foo.isdel=1 WHERE foo.oid=1", statement.ToString());
             
                statement = FooSchema.Table.Update().SetVarParam(FooSchema.Instance.oname).SetP(FooSchema.Instance.isdel).Where(FooSchema.Instance.oid == 1);

            Assert.AreEqual("UPDATE foo SET foo.oname=@oname,foo.isdel=@isdel WHERE foo.oid=1", statement.ToString());
        }
예제 #2
0
        public void Params()
        {
            statement = FooSchema.Insert((sql, s) => sql.Set(s.oid, 1).Set(s.oname, "foo1"));
            Assert.AreEqual(SortedJoin(statement.Params), "");
            statement = FooSchema.Table.Insert().SetP(FooSchema.Instance.oid).SetVarParam(FooSchema.Instance.oname);
            Assert.AreEqual(SortedJoin(statement.Params), "oid,oname");
            statement = FooSchema.Table.Insert().SetP(FooSchema.Instance.oid).SetVarParam(FooSchema.Instance.oname);
            Assert.AreEqual(SortedJoin(statement.Params), "oid,oname");

            statement = FooSchema.Delete((sql, s) => sql);
            Assert.AreEqual(SortedJoin(statement.Params), "");
            statement = FooSchema.Delete((sql, s) => sql.Where(s.oid.EqVarParam()));
            Assert.AreEqual(SortedJoin(statement.Params), "oid");

            statement = FooSchema.Update((sql, s) => sql.Set(s.oname, "foo2"));
            Assert.AreEqual(SortedJoin(statement.Params), "");
            statement = FooSchema.Table.Update().SetVarParam(FooSchema.Instance.oname).SetP(FooSchema.Instance.isdel).Where(FooSchema.Instance.oid.EqVarParam());
            Assert.AreEqual(SortedJoin(statement.Params), "isdel,oid,oname");

            statement = TestSchema.Select((sql, s) => sql.Get(s.age.Avg()).Where(s.oid.GtVarParam()).GroupBy(s.gender).Having(18 < s.age.Avg()).OrderBy(s.age.Desc()));
            Assert.AreEqual(SortedJoin(statement.Params), "oid");
        }