Click here to Skip to main content
15,881,803 members
Articles / Database Development / SQL Server / SQL Server 2008

DbExpressions - A Step Towards Independency

Rate me:
Please Sign up or sign in to vote.
4.24/5 (12 votes)
2 Feb 2011CPOL9 min read 73.2K   317   18  
An abstract syntax tree implementation for SQL
namespace DbExpressions
{
    /// <summary>
    /// Represents a <see cref="DbExpression"/> that has a binary operator.
    /// </summary>
    public class DbBinaryExpression : DbExpression
    {
        
        /// <summary>
        /// Initializes a new instance of the <see cref="DbBinaryExpression"/> class.
        /// </summary>
        /// <param name="binaryExpressionType">The <see cref="DbBinaryExpressionType"/> that this <see cref="DbBinaryExpression"/> represents.</param>
        /// <param name="leftExpression">The left expression.</param>
        /// <param name="rightExpression">The right expression.</param>
        internal DbBinaryExpression(DbBinaryExpressionType binaryExpressionType  ,DbExpression leftExpression, DbExpression rightExpression)
        {
            BinaryExpressionType = binaryExpressionType;
            LeftExpression = leftExpression;
            RightExpression = rightExpression;
        }

        /// <summary>
        /// Gets the left operand of the binary operation.
        /// </summary>
        public DbExpression LeftExpression { get; private set; }

        /// <summary>
        /// Gets the right operand of the binary operation.
        /// </summary>
        public DbExpression RightExpression { get; private set; }

        /// <summary>
        /// Gets the <see cref="DbExpressionType"/> of the <see cref="DbExpression"/>.
        /// </summary>
        public override DbExpressionType ExpressionType
        {
            get { return DbExpressionType.Binary; }
        }

        /// <summary>
        /// Gets the <see cref="DbBinaryExpressionType"/> that this <see cref="DbBinaryExpression"/> represents.
        /// </summary>
        public DbBinaryExpressionType BinaryExpressionType { get; private set; }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Norway Norway
I'm a 39 year old software developer living in Norway.
I'm currently working for a software company making software for the retail industry.

Comments and Discussions