# ITransactionClient.RunTransaction(TransactionOption, Func&lt;Task&lt;bool&gt;&gt;)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.itransactionclient/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.itransactionclient/methods/)

```csharp
public abstract Task RunTransaction(TransactionOption transactionOption, Func<Task<bool>> transactionDelegate)
```

Run transaction delegate

### Parameters

- `transactionOption` (`TransactionOption`)
- `transactionDelegate` (`Func<Task<bool>>`)

### Returns

True if the transaction should commit
