@@ -170,7 +170,7 @@ protected override async Task<ShardingMergeResult<IStreamMergeAsyncEnumerator<TR
170170 //single如果没有元素就可以回收
171171 //enumerable如果没有元素就可以回收
172172 var streamMergeContext = GetStreamMergeContext ( ) ;
173- if ( DisposeInExecuteUnit ( streamMergeContext , sqlExecutorUnit . ConnectionMode , streamMergeAsyncEnumerator ) )
173+ if ( DisposeInExecuteUnit ( streamMergeContext , streamMergeAsyncEnumerator ) )
174174 {
175175 var disConnectionStreamMergeAsyncEnumerator =
176176 new OneAtMostElementStreamMergeAsyncEnumerator < TResult > ( streamMergeAsyncEnumerator ) ;
@@ -186,15 +186,13 @@ protected override async Task<ShardingMergeResult<IStreamMergeAsyncEnumerator<TR
186186 /// 是否需要在执行单元中直接回收掉链接有助于提高吞吐量
187187 /// </summary>
188188 /// <param name="streamMergeContext"></param>
189- /// <param name="connectionMode"></param>
190189 /// <param name="streamMergeAsyncEnumerator"></param>
191190 /// <returns></returns>
192- private bool DisposeInExecuteUnit ( StreamMergeContext streamMergeContext , ConnectionModeEnum connectionMode ,
191+ private bool DisposeInExecuteUnit ( StreamMergeContext streamMergeContext ,
193192 IStreamMergeAsyncEnumerator < TResult > streamMergeAsyncEnumerator )
194193 {
195194 var queryMethodName = streamMergeContext . MergeQueryCompilerContext . GetQueryMethodName ( ) ;
196195 var hasElement = streamMergeAsyncEnumerator . HasElement ( ) ;
197- var notConnectionStrictly = connectionMode != ConnectionModeEnum . CONNECTION_STRICTLY ;
198196 switch ( queryMethodName )
199197 {
200198 case nameof ( Queryable . First ) :
@@ -203,13 +201,13 @@ private bool DisposeInExecuteUnit(StreamMergeContext streamMergeContext, Connect
203201 case nameof ( Queryable . LastOrDefault ) :
204202 {
205203 var skip = streamMergeContext . GetSkip ( ) ;
206- return ( skip is null or < 0 || ! hasElement ) && notConnectionStrictly ;
204+ return ! hasElement || ( skip is null or < 0 ) ;
207205 }
208206 case nameof ( Queryable . Single ) :
209207 case nameof ( Queryable . SingleOrDefault ) :
210208 case QueryCompilerContext . ENUMERABLE :
211209 {
212- return ! hasElement && notConnectionStrictly ;
210+ return ! hasElement ;
213211 }
214212 // case nameof(Queryable.Count):
215213 // case nameof(Queryable.LongCount):
0 commit comments