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)); }
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); }
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)); }