public override ISqlExpression[] GetExpressions <T>(ExpressionParser <T> parser) { return(new [] { Field }); }
Query <T> GetInfo(IDataContext dataContext) { var dataContextInfo = DataContextInfo.Create(dataContext); string lastContextID; MappingSchema lastMappingSchema; Query <T> query; lock (_sync) { lastContextID = _lastContextID; lastMappingSchema = _lastMappingSchema; query = _lastQuery; } var contextID = dataContextInfo.ContextID; var mappingSchema = dataContextInfo.MappingSchema; if (lastContextID != contextID || lastMappingSchema != mappingSchema) { query = null; } if (query == null) { var key = new { contextID, mappingSchema }; lock (_sync) _infos.TryGetValue(key, out query); if (query == null) { lock (_sync) { _infos.TryGetValue(key, out query); if (query == null) { #if NEW_PARSER query = new ExpressionParser(new Query <T>(), dataContextInfo, _expression, _lambda.Parameters.ToArray()) .Parse <T>(); #else query = new ExpressionParserOld <T>().Parse( contextID, mappingSchema, dataContextInfo.CreateSqlProvider, _expression, _lambda.Parameters.ToArray()); #endif _infos.Add(key, query); _lastContextID = contextID; _lastMappingSchema = mappingSchema; _lastQuery = query; } } } } return(query); }
public abstract ISqlExpression[] GetExpressions <T>(ExpressionParser <T> parser);
public abstract FieldIndex[] Select <T>(ExpressionParser <T> parser);
public override ISqlExpression[] GetExpressions <T>(ExpressionParser <T> parser) { return(GroupBySource.BaseQuery.GetExpressions(parser)); }
public override ISqlExpression[] GetExpressions <T>(ExpressionParser <T> parser) { var expr = base.GetExpressions(parser); return(expr.Length == 1 ? expr : new ISqlExpression[] { SubSql }); }
public override ISqlExpression[] GetExpressions <T>(ExpressionParser <T> parser) { return(new ISqlExpression[] { SqlTable }); }