# ExclusiveLockTransactionTestRunnerxUnit.ConcurrentReadThenWriteWithExclusiveLock_NoLockException(string)

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

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions.TestKit.xUnit/ExclusiveLockTransactionTestRunner.cs#L24)

```csharp
public override Task ConcurrentReadThenWriteWithExclusiveLock_NoLockException(string grainStates)
```

Verifies that using [UseExclusiveLock] on the read method prevents lock upgrade exceptions when concurrent transactions perform Read-then-Write on the same grain.

### Parameters

- `grainStates` (`string`)
