public override IDistributedSemaphore CreateSemaphoreWithExactName(string name, int maxCount) =>
 this.Strategy.GetConnectionOptions()
 .Create(
     (connectionString, options) =>
     new SqlDistributedSemaphore(name, maxCount, connectionString, TestingSqlDistributedLockProvider <TStrategy, TDb> .ToSqlOptions(options)),
     connection => new SqlDistributedSemaphore(name, maxCount, connection),
     transaction => new SqlDistributedSemaphore(name, maxCount, transaction));
 public override IDistributedUpgradeableReaderWriterLock CreateUpgradeableReaderWriterLockWithExactName(string name) =>
 this.Strategy.GetConnectionOptions()
 .Create(
     (connectionString, options) =>
     new SqlDistributedReaderWriterLock(name, connectionString, TestingSqlDistributedLockProvider <TStrategy, TDb> .ToSqlOptions(options), exactName: true),
     connection => new SqlDistributedReaderWriterLock(name, connection, exactName: true),
     transaction => new SqlDistributedReaderWriterLock(name, transaction, exactName: true));