public void ShouldCreateEmptyListExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression =
                factory.List();

            Assert.IsTrue(expression.Count() == 0);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.List);
        }
        public void ShouldCreateListExpression()
        {
            var factory    = new DbExpressionFactory();
            var expression =
                factory.List(new DbExpression[] { factory.Column("SomeColumn"), factory.Column("SomeOtherColumn") });

            Assert.IsTrue(expression.Count() == 2);
            Assert.IsTrue(expression.ExpressionType == DbExpressionType.List);
        }
Example #3
0
        /// <summary>
        /// Specifies the column to be updated.
        /// </summary>
        /// <param name="dbUpdateQuery">The target <see cref="DbQuery{TQueryExpression}"/>.</param>
        /// <param name="target">The <see cref="DbExpression"/> that represents the target table or view.</param>
        /// <param name="valueExpression">The <see cref="DbExpression"/> that represents the new value.</param>
        /// <returns><see cref="DbQuery{TQueryExpression}"/></returns>
        public static DbQuery <DbUpdateExpression> Set(this DbQuery <DbUpdateExpression> dbUpdateQuery, DbExpression target, DbExpression valueExpression)
        {
            var dbExpression = (DbExpression)DbExpressionFactory.Assign(target, valueExpression);

            if (!dbUpdateQuery.QueryExpression.SetExpression.IsNull())
            {
                dbExpression = DbExpressionFactory.List(new[] { dbUpdateQuery.QueryExpression.SetExpression, dbExpression });
            }
            dbUpdateQuery.QueryExpression.SetExpression = dbExpression;
            return(dbUpdateQuery);
        }
        /// <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);
        }
 public void ShouldCreateListExpression()
 {
     var factory = new DbExpressionFactory();
     var expression =
         factory.List(new DbExpression[] { factory.Column("SomeColumn"), factory.Column("SomeOtherColumn") });
     Assert.IsTrue(expression.Count() == 2);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.List);
 }
 public void ShouldCreateEmptyListExpression()
 {
     var factory = new DbExpressionFactory();
     var expression =
         factory.List();
     Assert.IsTrue(expression.Count() == 0);
     Assert.IsTrue(expression.ExpressionType == DbExpressionType.List);
 }
Example #7
0
 /// <summary>
 /// Specifies the projecton of the query.
 /// </summary>
 /// <param name="dbSelectQuery">The target <see cref="DbSelectQuery"/></param>
 /// <param name="expressionSelector">A <see cref="Func{T,TResult}"/> used to specify the <see cref="DbExpression"/> that represents the projection.</param>
 /// <returns></returns>
 public static DbSelectQuery Select(this DbSelectQuery dbSelectQuery, params Func <DbExpressionFactory, DbExpression>[] expressionSelector)
 {
     return(Select(dbSelectQuery, DbExpressionFactory.List(expressionSelector.Select(e => e(DbExpressionFactory)))));
 }
 /// <summary>
 /// Specifies the target columns.
 /// </summary>
 /// <param name="dbInsertQuery">The target <see cref="DbQuery{TQueryExpression}"/>.</param>
 /// <param name="columnSelector">A function used to specify the target columns.</param>
 /// <returns>A <see cref="DbInsertQuery"/> instance.</returns>
 public static DbInsertQuery Columns(this DbInsertQuery dbInsertQuery, params Func <DbExpressionFactory, DbExpression>[] columnSelector)
 {
     return(Columns(dbInsertQuery, DbExpressionFactory.List(columnSelector.Select(e => e(DbExpressionFactory)))));
 }