/// <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); }
/// <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); }
/// <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); }