|
ITable | Table [get, private set] |
|
|
object | Execute (Expression expression, bool isEnum) |
|
Definition at line 25 of file TableQueryProvider.cs.
Deveel.Data.Linq.TableQueryProvider.TableQueryProvider |
( |
ITable |
table | ) |
|
|
inline |
IQueryable Deveel.Data.Linq.TableQueryProvider.CreateQuery |
( |
Expression |
expression | ) |
|
|
inline |
Definition at line 35 of file TableQueryProvider.cs.
36 var elementType = TypeSystem.GetElementType(expression.Type);
39 var type = typeof (QueryableTable<>).MakeGenericType(elementType);
40 return (IQueryable) Activator.CreateInstance(type,
new object[] {
this, expression});
41 }
catch (TargetInvocationException ex) {
42 throw ex.InnerException;
object Deveel.Data.Linq.TableQueryProvider.Execute |
( |
Expression |
expression | ) |
|
|
inline |
object Deveel.Data.Linq.TableQueryProvider.Execute |
( |
Expression |
expression, |
|
|
bool |
isEnum |
|
) |
| |
|
inlineprivate |
Definition at line 55 of file TableQueryProvider.cs.
58 throw new InvalidProgramException(
"No query over the data source was specified.");
60 var elementType = TypeSystem.GetElementType(expression.Type);
62 IQueryable queryResult;
64 var builder =
new QueryBuilder();
67 var whereFinder =
new InnermostWhereFinder();
68 var whereExpression = whereFinder.GetInnermostWhere(expression);
70 if (whereExpression == null) {
71 var query = builder.Build();
72 queryResult = query.Execute(elementType,
Table).AsQueryable();
74 var lambdaExpression = (LambdaExpression)((UnaryExpression)(whereExpression.Arguments[1])).Operand;
77 lambdaExpression = (LambdaExpression)Evaluator.PartialEval(lambdaExpression);
79 var query = builder.Build(lambdaExpression.Body);
80 queryResult = query.Execute(elementType,
Table).AsQueryable();
85 var treeCopier =
new ExpressionTreeModifier(queryResult, elementType);
86 var newExpressionTree = treeCopier.Visit(expression);
90 return queryResult.Provider.CreateQuery(newExpressionTree);
92 return queryResult.Provider.Execute(newExpressionTree);
static bool IsQueryOverDataSource(Expression expression)
Definition at line 101 of file TableQueryProvider.cs.
102 bool isEnum = (typeof(TResult).Name ==
"IEnumerable`1");
103 return (TResult)
Execute(expression, isEnum);
object Execute(Expression expression)
string Deveel.Data.Linq.TableQueryProvider.GetQueryText |
( |
Expression |
expression | ) |
|
|
inline |
static bool Deveel.Data.Linq.TableQueryProvider.IsQueryOverDataSource |
( |
Expression |
expression | ) |
|
|
inlinestaticprivate |
ITable Deveel.Data.Linq.TableQueryProvider.Table |
|
getprivate set |
The documentation for this class was generated from the following file:
- /var/calculate/remote/distfiles/egit-src/deveeldb.git/src/deveeldb-linq/Deveel.Data.Linq.old/TableQueryProvider.cs