/// <summary> /// Deletes the specified row in the database asynchronously. /// </summary> /// <typeparam name="T">The type of the row object.</typeparam> /// <param name="row">The row to delete.</param> /// <param name="forceMirroring">If true, then the optimistic concurrency check is done which throws an exception if the check fails.</param> /// <param name="onCompleted">A delegate method that is called when the asynchronous operation completes.</param> /// <returns>The object of the asynchronous operation.</returns> public Async <Result <T> > DeleteGoAsync <T>(T row, bool forceMirroring = true, Action <Result <T> > onCompleted = null) where T : DbRow { return(PublicInvoker.Call <Async <Result <T> > >(Assembly.GetCallingAssembly(), (ca) => Crud.DeleteGoAsync <T>(ca, row, forceMirroring, this, onCompleted))); }