/// <summary>
 /// Remove a record
 /// </summary>
 /// <param name="item"></param>
 /// <param name="context"></param>
 /// <returns></returns>
 public Task RemoveAsync(TRecord item, DatabaseFront.TransactionContext context)
 {
     return(this.RemoveAsync(item, context.Connection, context.Transaction));
 }
 public Task ReplaceAsync(TRecord item, DatabaseFront.TransactionContext context)
 => this.AddMainAsync(item, context.Connection, context.Transaction, true);
 /// <summary>
 /// Update
 /// </summary>
 /// <param name="target"></param>
 /// <param name="context"></param>
 /// <param name="properties"></param>
 public Task UpdateAsync
     (TRecord target, DatabaseFront.TransactionContext context, params string[] properties)
 => this.UpdateAsync(target, context.Connection, context.Transaction, properties);
 /// <summary>
 /// Add a record
 /// </summary>
 /// <param name="item"></param>
 /// <param name="context"></param>
 public Task AddAsync(TRecord item, DatabaseFront.TransactionContext context)
 => this.AddMainAsync(item, context.Connection, context.Transaction, false);