///--------------------------------------------------------------------------------
 /// <summary>This constructor initializes a new instance of the ODataQuery class..</summary>
 ///
 /// <param name="provider">A provider that implements the <see cref="IQueryProvider"/> contract.</param>
 ///--------------------------------------------------------------------------------
 public ODataQuery(ODataProvider <T> provider)
 {
     if (provider == null)
     {
         throw new ArgumentNullException("provider");
     }
     Provider   = provider;
     Expression = Expression.Constant(this);
 }
 ///--------------------------------------------------------------------------------
 /// <summary>This constructor initializes a new instance of the ODataQuery class..</summary>
 ///
 /// <param name="provider">A provider that implements the <see cref="IQueryProvider"/> contract.</param>
 /// <param name="expression">An OData <see cref="Expression"/>.</param>
 ///--------------------------------------------------------------------------------
 public ODataQuery(ODataProvider <T> provider, Expression expression)
     : this(provider)
 {
     if (expression == null)
     {
         throw new ArgumentNullException("expression");
     }
     Expression = expression;
 }