diff --git a/src/ShardingCore/Sharding/ShardingExecutors/DefaultShardingTrackQueryExecutor.cs b/src/ShardingCore/Sharding/ShardingExecutors/DefaultShardingTrackQueryExecutor.cs index c957151f..7bbcf4a6 100644 --- a/src/ShardingCore/Sharding/ShardingExecutors/DefaultShardingTrackQueryExecutor.cs +++ b/src/ShardingCore/Sharding/ShardingExecutors/DefaultShardingTrackQueryExecutor.cs @@ -62,7 +62,8 @@ namespace ShardingCore.Sharding.ShardingExecutors { if (queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext) { - return _shardingQueryExecutor.Execute(mergeQueryCompilerContext); + var mergeResult = _shardingQueryExecutor.Execute(mergeQueryCompilerContext); + return ResultTrackExecute(mergeResult, queryCompilerContext, TrackEnumerable, Track); } throw new ShardingCoreNotFoundException(queryCompilerContext.GetQueryExpression().ShardingPrint()); } @@ -119,7 +120,8 @@ namespace ShardingCore.Sharding.ShardingExecutors { if (queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext) { - return _shardingQueryExecutor.ExecuteAsync(mergeQueryCompilerContext); + var mergeResult = _shardingQueryExecutor.ExecuteAsync(mergeQueryCompilerContext); + return ResultTrackExecute(mergeResult, queryCompilerContext, TrackAsyncEnumerable, TrackAsync); } throw new ShardingCoreNotFoundException(queryCompilerContext.GetQueryExpression().ShardingPrint()); } @@ -141,7 +143,8 @@ namespace ShardingCore.Sharding.ShardingExecutors { if (queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext) { - return _shardingQueryExecutor.ExecuteAsync>(mergeQueryCompilerContext); + var mergeResult= _shardingQueryExecutor.ExecuteAsync>(mergeQueryCompilerContext); + return ResultTrackExecute(mergeResult, queryCompilerContext, TrackEnumerable, Track); } throw new ShardingCoreNotFoundException(queryCompilerContext.GetQueryExpression().ShardingPrint()); } @@ -159,7 +162,8 @@ namespace ShardingCore.Sharding.ShardingExecutors { if (queryCompilerContext is IMergeQueryCompilerContext mergeQueryCompilerContext) { - return _shardingQueryExecutor.ExecuteAsync>(mergeQueryCompilerContext); + var mergeResult= _shardingQueryExecutor.ExecuteAsync>(mergeQueryCompilerContext); + return ResultTrackExecute(mergeResult, queryCompilerContext, TrackEnumerable, TrackAsync); } throw new ShardingCoreNotFoundException(queryCompilerContext.GetQueryExpression().ShardingPrint()); }