public CustomQueryProvider(ConnectionStringSettings connectionString, ISqlExpressionVisitor sqlGenerator, IModelBuilder modelBuilder, ILogger logger) : base(connectionString, sqlGenerator, modelBuilder, logger) { }
public CustomQueryProvider(DbConnection connection, ISqlExpressionVisitor sqlGenerator, IModelBuilder modelBuilder, ILogger logger) : base(connection, sqlGenerator, modelBuilder, logger) { }
/// <inheritdoc /> public void Delete(Expression <Func <T, bool> > condition) { Check.NotNull(condition, nameof(condition)); ISqlExpressionVisitor generator = _provider.GetExpressionVisitor(); WhereExpression where = generator.GenerateWhereCondition(condition.Body); _deleteExpressions.Add(where); }
void IQueryBaseInternal.ApplyQueryFilter(IDatabaseMapper databaseMapper, ISqlExpressionVisitor expressionVisitor) { SelectExpression select = SelectExpression; IQueryBaseInternal query = select?.OriginalQuery; if (query != null && !query.IgnoreQueryFilters) { TableInfo tableInfo = databaseMapper.GetTableInfo(select.EntityType); if (tableInfo.QueryFilter != null) { WhereExpression queryFilter = expressionVisitor.GenerateWhereCondition(tableInfo.QueryFilter, DefaultQueryFilterParameterNamePrefix); select.SetWhereExpression(queryFilter); } } }
/// <summary> /// Initializes a new instance of the <see cref="QueryProvider" /> class. /// </summary> /// <param name="externalConnection">The connection.</param> /// <param name="sqlGenerator">The SQL generator.</param> /// <param name="modelBuilder">The model builder.</param> /// <param name="logger">The logger.</param> public QueryProvider( DbConnection externalConnection, ISqlExpressionVisitor sqlGenerator, IModelBuilder modelBuilder, ILogger logger) { Check.NotNull(externalConnection, nameof(externalConnection)); Check.NotNull(sqlGenerator, nameof(sqlGenerator)); Check.NotNull(modelBuilder, nameof(modelBuilder)); Check.NotNull(logger, nameof(logger)); _logger = logger; _connection = externalConnection; IsExternalConnection = true; _sqlGenerator = sqlGenerator; _modelBuilder = modelBuilder; _transactionHelper = new Lazy <TransactionHelper>(() => new TransactionHelper(Connection)); }
/// <summary> /// Initializes a new instance of the <see cref="QueryProvider" /> class. /// </summary> /// <param name="connectionSettings">The connection string settings.</param> /// <param name="sqlGenerator">The SQL generator.</param> /// <param name="modelBuilder">The model builder.</param> /// <param name="logger">The logger.</param> public QueryProvider( ConnectionStringSettings connectionSettings, ISqlExpressionVisitor sqlGenerator, IModelBuilder modelBuilder, ILogger logger) { Check.NotNull(connectionSettings, nameof(connectionSettings)); Check.NotNull(sqlGenerator, nameof(sqlGenerator)); Check.NotNull(modelBuilder, nameof(modelBuilder)); Check.NotNull(logger, nameof(logger)); _logger = logger; _connectionSettings = connectionSettings; IsExternalConnection = false; _sqlGenerator = sqlGenerator; _modelBuilder = modelBuilder; _transactionHelper = new Lazy <TransactionHelper>(() => new TransactionHelper(Connection)); }
public TOutput AcceptVisitor <TContext, TOutput>(ISqlExpressionVisitor <TContext, TOutput> visitor, TContext context) { EnsureArg.IsNotNull(visitor, nameof(visitor)); return(visitor.VisitSqlRoot(this, context)); }
public TOutput AcceptVisitor <TContext, TOutput>(ISqlExpressionVisitor <TContext, TOutput> visitor, TContext context) { return(visitor.VisitTable(this, context)); }
public override void Accept(ISqlExpressionVisitor visitor) => visitor.Visit(this);
public abstract void Accept(ISqlExpressionVisitor visitor);