19 using System.Collections.Generic;
21 using System.Linq.Expressions;
23 namespace Deveel.Data.Linq {
27 Expression = Expression.Constant(
this);
32 throw new ArgumentNullException(
"provider");
33 if (expression == null)
34 throw new ArgumentNullException(
"expression");
36 if (!typeof(IQueryable<T>).IsAssignableFrom(expression.Type))
37 throw new ArgumentException(
"Invalid expression type.",
"expression");
40 Expression = expression;
43 IEnumerator IEnumerable.GetEnumerator() {
44 return ((IEnumerable) Provider.Execute(Expression)).GetEnumerator();
47 public Expression Expression {
get;
private set; }
49 public Type ElementType {
50 get {
return typeof (T); }
53 public IQueryProvider Provider {
get;
private set; }
56 return ((IEnumerable<T>) Provider.Execute<T>(Expression)).GetEnumerator();
IEnumerator< T > GetEnumerator()
override string ToString()
QueryableTable(TableQueryProvider provider)
QueryableTable(TableQueryProvider provider, Expression expression)