public override DbEntityProvider New(DbConnection connection, QueryMapping mapping, QueryPolicy policy)
 {
     return new SqlDbProvider((SqlConnection)connection, mapping, policy);
 }
 public static Expression Rewrite(QueryPolicy policy, QueryLanguage language, Expression expression)
 {
     return new ClientJoinedProjectionRewriter(policy, language).Visit(expression);
 }
 public SqlDbProvider(SqlConnection connection, QueryMapping mapping, QueryPolicy policy)
     : base(connection, TSqlLanguage.Default, mapping, policy)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="QueryPolice"/> class.
 /// </summary>
 /// <param name="policy">The policy.</param>
 /// <param name="translator">The translator.</param>
 public QueryPolice(QueryPolicy policy, QueryTranslator translator)
 {
     this.policy = policy;
     this.translator = translator;
 }
 private ClientJoinedProjectionRewriter(QueryPolicy policy, QueryLanguage language)
 {
     this.policy = policy;
     this.language = language;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OleDbProvider"/> class.
 /// </summary>
 /// <param name="connection">The connection.</param>
 /// <param name="mapping">The mapping.</param>
 /// <param name="policy">The policy.</param>
 public OleDbProvider(OleDbConnection connection, QueryMapping mapping, QueryPolicy policy)
     : base(connection, AccessLanguage.Default, mapping, policy)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OleDbQueryProvider"/> class.
 /// </summary>
 /// <param name="connection">The connection.</param>
 /// <param name="language">The language.</param>
 /// <param name="mapping">The mapping.</param>
 /// <param name="policy">The policy.</param>
 public OleDbQueryProvider(OleDbConnection connection, QueryLanguage language, QueryMapping mapping, QueryPolicy policy)
     : base(connection, language, mapping, policy)
 {
 }
 private RelationshipIncluder(QueryMapper mapper)
 {
     this.mapper = mapper;
     this.policy = mapper.Translator.Police.Policy;
 }
 public QueryTranslator(QueryLanguage language, QueryMapping mapping, QueryPolicy policy)
 {
     this.linguist = language.CreateLinguist(this);
     this.mapper = mapping.CreateMapper(this);
     this.police = policy.CreatePolice(this);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SQLiteDbProvider"/> class.
 /// </summary>
 /// <param name="connection">The connection.</param>
 /// <param name="mapping">The mapping.</param>
 /// <param name="policy">The policy.</param>
 public SQLiteDbProvider(SQLiteConnection connection, QueryMapping mapping, QueryPolicy policy)
     : base(connection, SQLiteLanguage.Default, mapping, policy)
 {
 }