diff --git a/src/ShardingCore/EFCores/RelationTransactions/ShardingRelationalTransaction.cs b/src/ShardingCore/EFCores/RelationTransactions/ShardingRelationalTransaction.cs index 80042f8f..0cfc15c7 100644 --- a/src/ShardingCore/EFCores/RelationTransactions/ShardingRelationalTransaction.cs +++ b/src/ShardingCore/EFCores/RelationTransactions/ShardingRelationalTransaction.cs @@ -32,6 +32,10 @@ namespace ShardingCore.EFCores { _shardingDbContext = shardingDbContext ?? throw new ShardingCoreInvalidOperationException($"should implement {nameof(IShardingDbContext)}"); + _shardingDbContextExecutor = shardingDbContext.GetShardingExecutor() ?? + throw new ShardingCoreInvalidOperationException( + $"{shardingDbContext.GetType()} cant get {nameof(IShardingDbContextExecutor)} from {nameof(shardingDbContext.GetShardingExecutor)}"); + } #endif @@ -55,6 +59,10 @@ namespace ShardingCore.EFCores { _shardingDbContext = shardingDbContext??throw new ShardingCoreInvalidOperationException($"should implement {nameof(IShardingDbContext)}"); + _shardingDbContextExecutor = shardingDbContext.GetShardingExecutor() ?? + throw new ShardingCoreInvalidOperationException( + $"{shardingDbContext.GetType()} cant get {nameof(IShardingDbContextExecutor)} from {nameof(shardingDbContext.GetShardingExecutor)}"); + } #endif