@@ -12,7 +12,7 @@ public class ManyDeclareGen(DbDriver dbDriver)
1212
1313 public MemberDeclarationSyntax Generate ( string queryTextConstant , string argInterface , string returnInterface , Query query )
1414 {
15- var parametersStr = CommonGen . GetMethodParameterList ( argInterface , query . Params ) ;
15+ var parametersStr = CommonGen . GetMethodParameterList ( argInterface , query . Params , dbDriver . Cancellation . MethodParameter ( ) ) ;
1616 var returnType = $ "Task<List<{ returnInterface } >>";
1717 return ParseMemberDeclaration ( $$ """
1818 public async {{ returnType }} {{ query . Name . ToMethodName ( dbDriver . Options . WithAsyncSuffix ) }} ({{ parametersStr }} )
@@ -52,9 +52,10 @@ private string GetDapperNoTxBody(string sqlVar, string returnInterface, Query qu
5252 var dapperArgs = CommonGen . GetDapperArgs ( query ) ;
5353 var returnType = dbDriver . AddNullableSuffixIfNeeded ( returnInterface , true ) ;
5454 var resultVar = Variable . Result . AsVarName ( ) ;
55+ var callArgs = dbDriver . Cancellation . WrapDapperArgs ( $ "{ sqlVar } { dapperArgs } ") ;
5556 return connectionCommands . GetConnectionOrDataSource . WrapBlock (
5657 $ """
57- var { resultVar } = await { Variable . Connection . AsVarName ( ) } .QueryAsync<{ returnType } >({ sqlVar } { dapperArgs } );
58+ var { resultVar } = await { Variable . Connection . AsVarName ( ) } .QueryAsync<{ returnType } >({ callArgs } );
5859 return { resultVar } .AsList();
5960 """
6061 ) ;
@@ -66,11 +67,10 @@ private string GetDapperWithTxBody(string sqlVar, string returnInterface, Query
6667 var dapperArgs = CommonGen . GetDapperArgs ( query ) ;
6768 var returnType = dbDriver . AddNullableSuffixIfNeeded ( returnInterface , true ) ;
6869
70+ var callArgs = dbDriver . Cancellation . WrapDapperArgs ( $ "{ sqlVar } { dapperArgs } , transaction: this.{ transactionProperty } ") ;
6971 return $$ """
7072 {{ dbDriver . TransactionConnectionNullExcetionThrow }}
71- return (await this.{{ transactionProperty }} .Connection.QueryAsync<{{ returnType }} >(
72- {{ sqlVar }} {{ dapperArgs }} ,
73- transaction: this.{{ transactionProperty }} )).AsList();
73+ return (await this.{{ transactionProperty }} .Connection.QueryAsync<{{ returnType }} >({{ callArgs }} )).AsList();
7474 """ ;
7575 }
7676
@@ -80,7 +80,7 @@ private string GetDriverNoTxBody(string sqlVar, string returnInterface, Query qu
8080 var dataclassInit = CommonGen . InstantiateDataclass ( [ .. query . Columns ] , returnInterface , query ) ;
8181 var resultVar = Variable . Result . AsVarName ( ) ;
8282 var readWhileExists = $$ """
83- while ({{ CommonGen . AwaitReaderRow ( ) }} )
83+ while ({{ CommonGen . AwaitReaderRow ( dbDriver . Cancellation . Argument ( ) ) }} )
8484 {{ resultVar }} .Add({{ dataclassInit }} );
8585 """ ;
8686 var sqlCommands = dbDriver . CreateSqlCommand ( sqlVar ) ;
@@ -89,7 +89,7 @@ private string GetDriverNoTxBody(string sqlVar, string returnInterface, Query qu
8989 {{ sqlCommands . SetCommandText . AppendSemicolonUnlessEmpty ( ) }}
9090 {{ dbDriver . AddParametersToCommand ( query ) }}
9191 {{ sqlCommands . PrepareCommand . AppendSemicolonUnlessEmpty ( ) }}
92- using ({{ CommonGen . InitDataReader ( ) }} )
92+ using ({{ CommonGen . InitDataReader ( dbDriver . Cancellation . Argument ( ) ) }} )
9393 {
9494 var {{ resultVar }} = new List<{{ returnInterface }} >();
9595 {{ readWhileExists }}
@@ -118,10 +118,10 @@ private string GetDriverWithTxBody(string sqlVar, string returnInterface, Query
118118 {{ commandVar }} .CommandText = {{ sqlVar }} ;
119119 {{ commandVar }} .Transaction = this.{{ transactionProperty }} ;
120120 {{ dbDriver . AddParametersToCommand ( query ) }}
121- using ({{ CommonGen . InitDataReader ( ) }} )
121+ using ({{ CommonGen . InitDataReader ( dbDriver . Cancellation . Argument ( ) ) }} )
122122 {
123123 var {{ resultVar }} = new List<{{ returnInterface }} >();
124- while ({{ CommonGen . AwaitReaderRow ( ) }} )
124+ while ({{ CommonGen . AwaitReaderRow ( dbDriver . Cancellation . Argument ( ) ) }} )
125125 {{ resultVar }} .Add({{ CommonGen . InstantiateDataclass ( [ .. query . Columns ] , returnInterface , query ) }} );
126126 return {{ resultVar }} ;
127127 }
0 commit comments