示例#1
0
        public void SqlSubSelectReplacingTest()
        {
            SqlSelect s = SqlDml.Select();

            s.Columns.Add(1, "value");
            SqlSelect sReplacing = SqlDml.Select();

            sReplacing.Columns.Add(2, "value");
            SqlSubQuery ss          = SqlDml.SubQuery(s);
            SqlSubQuery ssReplacing = SqlDml.SubQuery(sReplacing);

            ss.ReplaceWith(ssReplacing);

            bool passed = false;

            try {
                ss.ReplaceWith(1);
            }
            catch {
                passed = true;
            }

            Assert.IsTrue(passed);
            Assert.AreNotEqual(ss, ssReplacing);
            Assert.AreEqual(ss.NodeType, ssReplacing.NodeType);
            Assert.AreEqual(ss.Query, ssReplacing.Query);
        }
示例#2
0
 public void Visit(SqlSubQuery node)
 {
     if (node.Query != null)
     {
         Visit(node.Query);
     }
 }
        public void SqlSubSelectCloneTest()
        {
            SqlTableRef t = SqlDml.TableRef(table1);
            SqlSelect   s = SqlDml.Select(t);

            s.Columns.Add(t.Columns[0]);

            SqlSubQuery ss      = SqlDml.SubQuery(s);
            SqlSubQuery ssClone = (SqlSubQuery)ss.Clone();

            Assert.AreNotEqual(ss, ssClone);
            Assert.AreNotEqual(ss.Query, ssClone.Query);
            Assert.AreEqual(ss.NodeType, ssClone.NodeType);
            Assert.AreEqual(ss.Query.NodeType, ssClone.Query.NodeType);
        }
 public virtual void Visit(SqlSubQuery node)
 {
     VisitInternal(node.Query);
 }