private QueryBinder(QueryMapper mapper, Expression root) { this.mapper = mapper; this.language = mapper.Translator.Linguist.Language; this.map = new Dictionary<ParameterExpression, Expression>(); this.groupByMap = new Dictionary<Expression, GroupByInfo>(); this.root = root; }
public QueryTranslator(QueryLanguage language, QueryMapping mapping, QueryPolicy policy) { this.linguist = language.CreateLinguist(this); this.mapper = mapping.CreateMapper(this); this.police = policy.CreatePolice(this); }
public static Expression Include(QueryMapper mapper, Expression expression) { return new RelationshipIncluder(mapper).Visit(expression); }
private RelationshipIncluder(QueryMapper mapper) { this.mapper = mapper; this.policy = mapper.Translator.Police.Policy; }
public static Expression Bind(QueryMapper mapper, Expression expression) { return new QueryBinder(mapper, expression).Visit(expression); }
public static Expression Bind(QueryMapper mapper, Expression expression) { return new RelationshipBinder(mapper).Visit(expression); }
private RelationshipBinder(QueryMapper mapper) { this.mapper = mapper; this.mapping = mapper.Mapping; this.language = mapper.Translator.Linguist.Language; }