/// <summary>
 ///     Updates an entity and returns true if successful.
 /// </summary>
 /// <typeparam name="T">The type of entity to update.</typeparam>
 /// <param name="entityToUpdate">The Entity to update.</param>
 /// <param name="columnsToUpdate">The list of columns to updates.</param>
 /// <returns>
 ///     True if the record is updated.
 /// </returns>
 public async Task <bool> UpdateAsync <T>(T entityToUpdate, IEnumerable <string> columnsToUpdate) where T : class =>
 await ExecuteInternalAsync(() => SharedConnection.UpdateAsync(entityToUpdate, columnsToUpdate, _transaction,
                                                               OneTimeCommandTimeout ?? CommandTimeout));