public static Expression Build(QueryLinguist linguist, QueryPolicy policy, Expression expression, Expression provider) { ParameterExpression expression2; return(new ExecutionBuilder(linguist, policy, expression2 = Expression.Parameter(typeof(QueryExecutor), "executor")) { variables = { expression2 }, initializers = { Expression.Call((Expression)Expression.Convert(provider, typeof(ICreateExecutor)), "CreateExecutor", (Type[])null, (Expression[])null) } }.Build(expression)); }
public override bool HasIncludedMembers(EntityExpression entity) { QueryPolicy policy = this.translator.Police.Policy; foreach (MemberInfo info in this.mapping.GetMappedMembers(entity.Entity)) { if (policy.IsIncluded(info)) { return(true); } } return(false); }
public QueryPolice(QueryPolicy policy, QueryTranslator translator) { this.policy = policy; this.translator = translator; }
private ExecutionBuilder(QueryLinguist linguist, QueryPolicy policy, Expression executor) { this.linguist = linguist; this.policy = policy; this.executor = executor; }
private RelationshipIncluder(QueryMapper mapper) { this.mapper = mapper; this.policy = mapper.Translator.Police.Policy; }
public static Expression Rewrite(QueryPolicy policy, QueryLanguage language, Expression expression) { return(new ClientJoinedProjectionRewriter(policy, language).Visit(expression)); }
private ClientJoinedProjectionRewriter(QueryPolicy policy, QueryLanguage language) { this.policy = policy; this.language = language; }
public QueryTranslator(QueryLanguage language, QueryMapping mapping, QueryPolicy policy) { this.linguist = language.CreateLinguist(this); this.mapper = mapping.CreateMapper(this); this.police = policy.CreatePolice(this); }