예제 #1
0
        public void SumOfQueries()
        {
            QueryExpression query = new QueryExpression {
                Clauses =
                {
                    new QueryFromClause   {
                        Identifier = "a",
                        Expression = new IdentifierExpression("b")
                    },
                    new QuerySelectClause {
                        Expression = new IdentifierExpression("a")
                    }
                }
            };
            Expression expr = new BinaryOperatorExpression(
                query,
                BinaryOperatorType.Add,
                query.Clone()
                );

            Assert.AreEqual("(from a in b select a) + " +
                            "from a in b select a", InsertRequired(expr));
            Assert.AreEqual("(from a in b select a) + " +
                            "(from a in b select a)", InsertReadable(expr));
        }
예제 #2
0
        public GlazeCommand MakeSchemaQuery(GlazeConnection cnn,
                                            QueryExpression queryExpression)
        {
            QueryExpression schemaQuery = (QueryExpression)(queryExpression.Clone());

            schemaQuery.Top      = 1;
            schemaQuery.Distinct = false;

            GlazeCommand schemaCmd = (GlazeCommand)(cnn.CreateCommand());

            schemaCmd.Statement = new SelectStatement(schemaQuery);
            return(schemaCmd);
        }
        public void TestClone()
        {
            QueryExpression query = new QueryExpression("entity");
            LinkEntity      link  = new LinkEntity("entity", "second", "secondid", "secondid", JoinOperator.Inner);

            link.EntityAlias = "second";
            link.LinkCriteria.AddCondition("filter", ConditionOperator.Equal, true);
            query.LinkEntities.Add(link);

            QueryExpression cloned = query.Clone();

            cloned.LinkEntities[0].LinkCriteria.Conditions[0].AttributeName = "otherfield";

            cloned.LinkEntities[0].LinkCriteria.Conditions[0].AttributeName = "link.field";
            Assert.Equal("entity", query.EntityName);
            Assert.Equal("filter", query.LinkEntities[0].LinkCriteria.Conditions[0].AttributeName);
        }
예제 #4
0
		public void SumOfQueries()
		{
			QueryExpression query = new QueryExpression {
				Clauses = {
					new QueryFromClause {
						Identifier = "a",
						Expression = new IdentifierExpression("b")
					},
					new QuerySelectClause {
						Expression = new IdentifierExpression("a")
					}
				}
			};
			Expression expr = new BinaryOperatorExpression(
				query,
				BinaryOperatorType.Add,
				query.Clone()
			);
			
			Assert.AreEqual("( from a in b select a) + " +
			                " from a in b select a", InsertRequired(expr));
			Assert.AreEqual("( from a in b select a) + " +
			                "( from a in b select a)", InsertReadable(expr));
		}