@@ -169,8 +169,18 @@ protected override Expression VisitSqlParameter(SqlParameterExpression sqlParame
169
169
Sql . Append ( " AS " ) ;
170
170
if ( sqlParameterExpression . Type == typeof ( string ) )
171
171
{
172
- var isUnicode = FbTypeMappingSource . IsUnicode ( sqlParameterExpression . TypeMapping ) ;
173
- Sql . Append ( ( ( IFbSqlGenerationHelper ) Dependencies . SqlGenerationHelper ) . StringParameterQueryType ( isUnicode ) ) ;
172
+ var storeTypeNameBase = sqlParameterExpression . TypeMapping . StoreTypeNameBase ;
173
+ var size = sqlParameterExpression . TypeMapping . Size ;
174
+
175
+ if ( storeTypeNameBase != null && size != null )
176
+ {
177
+ Sql . Append ( $ "{ storeTypeNameBase } ({ size } )") ;
178
+ }
179
+ else
180
+ {
181
+ var isUnicode = FbTypeMappingSource . IsUnicode ( sqlParameterExpression . TypeMapping ) ;
182
+ Sql . Append ( ( ( IFbSqlGenerationHelper ) Dependencies . SqlGenerationHelper ) . StringParameterQueryType ( isUnicode ) ) ;
183
+ }
174
184
}
175
185
else
176
186
{
@@ -191,9 +201,19 @@ protected override Expression VisitSqlConstant(SqlConstantExpression sqlConstant
191
201
base . VisitSqlConstant ( sqlConstantExpression ) ;
192
202
if ( shouldExplicitStringLiteralTypes )
193
203
{
194
- var isUnicode = FbTypeMappingSource . IsUnicode ( sqlConstantExpression . TypeMapping ) ;
195
- Sql . Append ( " AS " ) ;
196
- Sql . Append ( ( ( IFbSqlGenerationHelper ) Dependencies . SqlGenerationHelper ) . StringLiteralQueryType ( sqlConstantExpression . Value as string , isUnicode ) ) ;
204
+ var storeTypeNameBase = sqlConstantExpression . TypeMapping . StoreTypeNameBase ;
205
+ var size = sqlConstantExpression . TypeMapping . Size ;
206
+
207
+ if ( storeTypeNameBase != null && size != null )
208
+ {
209
+ Sql . Append ( $ "{ storeTypeNameBase } ({ size } )") ;
210
+ }
211
+ else
212
+ {
213
+ var isUnicode = FbTypeMappingSource . IsUnicode ( sqlConstantExpression . TypeMapping ) ;
214
+ Sql . Append ( " AS " ) ;
215
+ Sql . Append ( ( ( IFbSqlGenerationHelper ) Dependencies . SqlGenerationHelper ) . StringLiteralQueryType ( sqlConstantExpression . Value as string , isUnicode ) ) ;
216
+ }
197
217
Sql . Append ( ")" ) ;
198
218
}
199
219
return sqlConstantExpression ;
0 commit comments