/// <summary>
        /// This constructor is called by Provider.CreateQuery().
        /// </summary>
        internal QueryableUbData(UbQueryProvider provider, Expression expression)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            if (expression == null)
            {
                throw new ArgumentNullException(nameof(expression));
            }
            if (!typeof(IQueryable <T>).IsAssignableFrom(expression.Type))
            {
                throw new ArgumentOutOfRangeException(nameof(expression));
            }

            Provider   = provider;
            Expression = expression;
        }
 internal QueryableUbData()
 {
     Provider   = new UbQueryProvider();
     Expression = Expression.Constant(this);
 }