Esempio n. 1
0
        /// <inheritdoc />
        public bool BulkUpdate(IEnumerable <TEntity> instances, IDbTransaction transaction)
        {
            var queryResult = SqlGenerator.GetBulkUpdate(instances);
            var result      = TransientDapperExtentions.ExecuteWithRetry(() => Connection.Execute(queryResult.GetSql(), queryResult.Param, transaction)) > 0;

            return(result);
        }
Esempio n. 2
0
        /// <inheritdoc />
        public virtual bool Update(Expression <Func <TEntity, bool> > predicate, TEntity instance, IDbTransaction transaction)
        {
            var sqlQuery = SqlGenerator.GetUpdate(predicate, instance);
            var updated  = TransientDapperExtentions.ExecuteWithRetry(() => Connection.Execute(sqlQuery.GetSql(), instance, transaction)) > 0;

            return(updated);
        }
        /// <inheritdoc />
        public virtual bool Delete(Expression <Func <TEntity, bool> > predicate, IDbTransaction transaction = null)
        {
            var queryResult = SqlGenerator.GetDelete(predicate);
            var deleted     = (TransientDapperExtentions.ExecuteWithRetry(() => Connection.Execute(queryResult.GetSql(), queryResult.Param, transaction))) > 0;

            return(deleted);
        }
        /// <inheritdoc />
        public virtual bool Delete(TEntity instance, IDbTransaction transaction = null)
        {
            var queryResult = SqlGenerator.GetDelete(instance);
            var deleted     = (TransientDapperExtentions.ExecuteWithRetry(() => Connection.Execute(queryResult.GetSql(), queryResult.Param, transaction))) > 0;

            return(deleted);
        }
Esempio n. 5
0
        /// <inheritdoc />
        public virtual int BulkInsert(IEnumerable <TEntity> instances, IDbTransaction transaction = null)
        {
            var queryResult = SqlGenerator.GetBulkInsert(instances);
            var count       = TransientDapperExtentions.ExecuteWithRetry(() => Connection.Execute(queryResult.GetSql(), queryResult.Param, transaction));

            return(count);
        }
        /// <inheritdoc />
        public virtual bool Insert(TEntity instance, IDbTransaction transaction)
        {
            var queryResult = SqlGenerator.GetInsert(instance);

            if (SqlGenerator.IsIdentity)
            {
                var newId = Connection.Query <long>(queryResult.GetSql(), queryResult.Param, transaction).FirstOrDefault();
                return(SetValue(newId, instance));
            }
            return(TransientDapperExtentions.ExecuteWithRetry(() => Connection.Execute(queryResult.GetSql(), instance, transaction)) > 0);
        }
        /// <inheritdoc />
        public virtual bool UpSert(TEntity instance, IDbTransaction transaction = null)
        {
            var  sqlQuery = SqlGenerator.GetUpSert(instance);
            bool modified;

            if (SqlGenerator.IsIdentity)
            {
                var newId = (TransientDapperExtentions.QueryWithRetry(() => Connection.Query <long>(sqlQuery.GetSql(), sqlQuery.Param, transaction)).FirstOrDefault());
                modified = newId > 0;

                if (modified)
                {
                    var newParsedId = Convert.ChangeType(newId, SqlGenerator.IdentitySqlProperty.PropertyInfo.PropertyType);
                    SqlGenerator.IdentitySqlProperty.PropertyInfo.SetValue(instance, newParsedId);
                }
            }
            else
            {
                modified = TransientDapperExtentions.ExecuteWithRetry(() => Connection.Execute(sqlQuery.GetSql(), instance, transaction)) > 0;
            }

            return(modified);
        }