Example #1
0
 public async Task <IMultipleResultReader> GetMultipleAsync(string tableName, string schemaName, GetMultiplePredicate predicate = null, int?commandTimeout = null)
 => await _dapper.GetMultipleAsync(Connection, predicate, _transaction, commandTimeout, tableName, schemaName);
Example #2
0
 public async Task <IMultipleResultReader> GetMultipleAsync(GetMultiplePredicate predicate = null, int?commandTimeout = null)
 => await GetMultipleAsync(null, predicate, commandTimeout);
Example #3
0
 public async Task <IMultipleResultReader> GetMultipleAsync(string tableName, GetMultiplePredicate predicate = null, int?commandTimeout = null)
 => await GetMultipleAsync(tableName, null, predicate, commandTimeout);
Example #4
0
 public IMultipleResultReader GetMultiple(string tableName, GetMultiplePredicate predicate = null, int?commandTimeout = null)
 => GetMultiple(tableName, null, predicate, commandTimeout);
Example #5
0
 public IMultipleResultReader GetMultiple(string tableName, string schemaName, GetMultiplePredicate predicate = null, int?commandTimeout = null)
 => _dapper.GetMultiple(Connection, predicate, _transaction, commandTimeout, tableName, schemaName);
Example #6
0
        protected GridReaderResultReader GetMultipleByBatch(IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction, int?commandTimeout, string tableName, string schemaName)
        {
            Dictionary <string, object> parameters = new Dictionary <string, object>();
            StringBuilder sql = new StringBuilder();

            foreach (var item in predicate.Items)
            {
                IClassMapper classMap      = SqlGenerator.Configuration.GetMap(item.Type);
                IPredicate   itemPredicate = item.Value as IPredicate;
                if (itemPredicate == null && item.Value != null)
                {
                    itemPredicate = GetPredicate(classMap, item.Value);
                }

                sql.AppendLine(SqlGenerator.Select(classMap, itemPredicate, item.Sort, parameters, schemaName, tableName) + SqlGenerator.Configuration.Dialect.BatchSeperator);
            }

            DynamicParameters dynamicParameters = new DynamicParameters();

            foreach (var parameter in parameters)
            {
                dynamicParameters.Add(parameter.Key, parameter.Value);
            }

            SqlMapper.GridReader grid = connection.QueryMultiple(sql.ToString(), dynamicParameters, transaction, commandTimeout, CommandType.Text);
            return(new GridReaderResultReader(grid));
        }
Example #7
0
        protected GridReaderResultReader GetMultipleByBatch(IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction, int?commandTimeout, IList <IReferenceMap> includedProperties = null)
        {
            var parameters = new Dictionary <string, object>();
            var sql        = new StringBuilder();

            foreach (var item in predicate.Items)
            {
                var classMap      = SqlGenerator.Configuration.GetMap(item.Type);
                var itemPredicate = item.Value as IPredicate;
                if (itemPredicate == null && item.Value != null)
                {
                    itemPredicate = GetPredicate(classMap, item.Value);
                }

                _ = sql.Append(SqlGenerator.Select(classMap, itemPredicate, item.Sort, parameters, null, includedProperties)).AppendLine(SqlGenerator.Configuration.Dialect.BatchSeperator);
            }

            var dynamicParameters = GetDynamicParameters(parameters);

            var grid = connection.QueryMultiple(sql.ToString(), dynamicParameters, transaction, commandTimeout, CommandType.Text);

            return(new GridReaderResultReader(grid));
        }
Example #8
0
 public Task <IMultipleResultReader> GetMultipleAsync(IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction, int?commandTimeout) =>
 SqlGenerator.SupportsMultipleStatements() ? GetMultipleByBatchAsync(connection, predicate, transaction, commandTimeout) : GetMultipleBySequenceAsync(connection, predicate, transaction, commandTimeout);
Example #9
0
 public IMultipleResultReader GetMultiple(GetMultiplePredicate predicate, int?commandTimeout)
 {
     return(_dapper.GetMultiple(Connection, predicate, _transaction, commandTimeout));
 }
 public static async Task <IMultipleResultReader> GetMultipleAsync(this IDbConnection connection, string tableName, GetMultiplePredicate predicate = null, IDbTransaction transaction = null, int?commandTimeout = null)
 => await GetMultipleAsync(connection, tableName, null, predicate, transaction, commandTimeout);
Example #11
0
        protected SequenceReaderResultReader GetMultipleBySequence(IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction, int?commandTimeout)
        {
            IList <SqlMapper.GridReader> items = new List <SqlMapper.GridReader>();

            LastExecutedCommand = string.Empty;
            foreach (var item in predicate.Items)
            {
                Dictionary <string, object> parameters = new Dictionary <string, object>();
                IClassMapper classMap      = SqlGenerator.Configuration.GetMap(item.Type);
                IPredicate   itemPredicate = item.Value as IPredicate;
                if (itemPredicate == null && item.Value != null)
                {
                    itemPredicate = GetPredicate(classMap, item.Value);
                }

                string            sql = SqlGenerator.Select(classMap, itemPredicate, item.Sort, parameters);
                DynamicParameters dynamicParameters = GetDynamicParameters(parameters);

                LastExecutedCommand += string.Format("{0}{1}{1}", sql, Environment.NewLine);
                SqlMapper.GridReader queryResult = connection.QueryMultiple(sql, dynamicParameters, transaction, commandTimeout, CommandType.Text);
                items.Add(queryResult);
            }

            return(new SequenceReaderResultReader(items));
        }
 public static IMultipleResultReader GetMultiple(this IDbConnection connection, string tableName, string schemaName, GetMultiplePredicate predicate = null, IDbTransaction transaction = null, int?commandTimeout = null)
 {
     return(Instance.GetMultiple(connection, predicate, transaction, commandTimeout, tableName, schemaName));
 }
 /// <summary>
 /// Executes a select query for multiple objects, returning IMultipleResultReader for each predicate.
 /// </summary>
 public static IMultipleResultReader GetMultiple(this IDbConnection connection, GetMultiplePredicate predicate = null, IDbTransaction transaction = null, int?commandTimeout = null)
 => GetMultiple(connection, null, null, predicate, transaction, commandTimeout);
Example #14
0
        protected SequenceReaderResultReader GetMultipleBySequence(IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction, int?commandTimeout, IList <IReferenceMap> includedProperties = null)
        {
            IList <SqlMapper.GridReader> items = new List <SqlMapper.GridReader>();

            foreach (var item in predicate.Items)
            {
                var parameters    = new Dictionary <string, object>();
                var classMap      = SqlGenerator.Configuration.GetMap(item.Type);
                var itemPredicate = item.Value as IPredicate;
                if (itemPredicate == null && item.Value != null)
                {
                    itemPredicate = GetPredicate(classMap, item.Value);
                }

                var sql = SqlGenerator.Select(classMap, itemPredicate, item.Sort, parameters, null, includedProperties);
                var dynamicParameters = GetDynamicParameters(parameters);

                var queryResult = connection.QueryMultiple(sql, dynamicParameters, transaction, commandTimeout, CommandType.Text);
                items.Add(queryResult);
            }

            return(new SequenceReaderResultReader(items));
        }
Example #15
0
 /// <summary>
 /// Executes a select query for multiple objects, returning IMultipleResultReader for each predicate.
 /// </summary>
 public static IMultipleResultReader GetMultiple(this IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction = null, int?commandTimeout = null)
 {
     return(Instance.GetMultiple(connection, predicate, transaction, commandTimeout));
 }
Example #16
0
 /// <summary>
 /// Executes a select query for multiple objects, returning IMultipleResultReader for each predicate.
 /// </summary>
 public static async Task <IMultipleResultReader> GetMultipleAsync(this IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction = null, int?commandTimeout = null)
 {
     return(await Instance.GetMultipleAsync(connection, predicate, transaction, commandTimeout));
 }
Example #17
0
        public async Task <IMultipleResultReader> GetMultipleAsync(IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction, int?commandTimeout, string tableName, string schemaName)
        {
            if (SqlGenerator.SupportsMultipleStatements())
            {
                return(await GetMultipleByBatchAsync(connection, predicate, transaction, commandTimeout, tableName, schemaName));
            }

            return(await GetMultipleBySequenceAsync(connection, predicate, transaction, commandTimeout, tableName, schemaName));
        }
Example #18
0
 public IMultipleResultReader GetMultiple(GetMultiplePredicate predicate = null, int?commandTimeout = null)
 => GetMultiple(null, predicate, commandTimeout);
Example #19
0
        protected SequenceReaderResultReader GetMultipleBySequence(IDbConnection connection, GetMultiplePredicate predicate, IDbTransaction transaction, int?commandTimeout, string tableName, string schemaName)
        {
            IList <SqlMapper.GridReader> items = new List <SqlMapper.GridReader>();

            foreach (var item in predicate.Items)
            {
                Dictionary <string, object> parameters = new Dictionary <string, object>();
                IClassMapper classMap      = SqlGenerator.Configuration.GetMap(item.Type);
                IPredicate   itemPredicate = item.Value as IPredicate;
                if (itemPredicate == null && item.Value != null)
                {
                    itemPredicate = GetPredicate(classMap, item.Value);
                }

                string            sql = SqlGenerator.Select(classMap, itemPredicate, item.Sort, parameters, schemaName, tableName);
                DynamicParameters dynamicParameters = new DynamicParameters();
                foreach (var parameter in parameters)
                {
                    dynamicParameters.Add(parameter.Key, parameter.Value);
                }

                SqlMapper.GridReader queryResult = connection.QueryMultiple(sql, dynamicParameters, transaction, commandTimeout, CommandType.Text);
                items.Add(queryResult);
            }

            return(new SequenceReaderResultReader(items));
        }
Example #20
0
 public IMultipleResultReader GetMultiple(GetMultiplePredicate predicate, IDbTransaction transaction = null, int?commandTimeout = null)
 {
     transaction = transaction ?? _transaction;
     return(_dapper.GetMultiple(Connection, predicate, transaction, commandTimeout));
 }