public void ShouldCreateConcatExpression() { var factory = new DbExpressionFactory(); var expression = factory.Concat(factory.Constant("DummyExpression"), factory.Constant("AnotherDummyExpression")); Assert.IsNotNull(expression.LeftExpression); Assert.IsNotNull(expression.RightExpression); Assert.IsTrue(expression.ExpressionType == DbExpressionType.Concat); }
/// <summary> /// Specifies the tables, views, derived tables, and joined tables used in DELETE, SELECT, and UPDATE statements. /// </summary> /// <param name="query">The target <see cref="DbQuery{TQueryExpression}"/></param> /// <param name="expression">A <see cref="DbExpression"/> that represents the from clause.</param> /// <returns><see cref="DbQuery{TQueryExpression}"/></returns> public static DbQuery <TQueryExpression> From <TQueryExpression>(this DbQuery <TQueryExpression> query, DbExpression expression) where TQueryExpression : DbQueryExpression, new() { var dbExpression = expression; if (!query.QueryExpression.FromExpression.IsNull()) { if (dbExpression.ExpressionType == DbExpressionType.Join) { dbExpression = DbExpressionFactory.Concat(query.QueryExpression.FromExpression, dbExpression); } else { dbExpression = DbExpressionFactory.List(new[] { query.QueryExpression.FromExpression, expression }); } } query.QueryExpression.FromExpression = dbExpression; return(query); }