@@ -721,19 +721,15 @@ internal void AppendBinary(ByteBufferWriter writer, StatementPreparerOptions opt
721721 }
722722 }
723723
724- internal static string NormalizeParameterName ( string name )
725- {
726- name = name . Trim ( ) ;
727-
728- if ( ( name . StartsWith ( "@`" , StringComparison . Ordinal ) || name . StartsWith ( "?`" , StringComparison . Ordinal ) ) && name . EndsWith ( "`" , StringComparison . Ordinal ) )
729- return name . Substring ( 2 , name . Length - 3 ) . Replace ( "``" , "`" ) ;
730- if ( ( name . StartsWith ( "@'" , StringComparison . Ordinal ) || name . StartsWith ( "?'" , StringComparison . Ordinal ) ) && name . EndsWith ( "'" , StringComparison . Ordinal ) )
731- return name . Substring ( 2 , name . Length - 3 ) . Replace ( "''" , "'" ) ;
732- if ( ( name . StartsWith ( "@\" " , StringComparison . Ordinal ) || name . StartsWith ( "?\" " , StringComparison . Ordinal ) ) && name . EndsWith ( "\" " , StringComparison . Ordinal ) )
733- return name . Substring ( 2 , name . Length - 3 ) . Replace ( "\" \" " , "\" " ) ;
734-
735- return name . StartsWith ( "@" , StringComparison . Ordinal ) || name . StartsWith ( "?" , StringComparison . Ordinal ) ? name . Substring ( 1 ) : name ;
736- }
724+ internal static string NormalizeParameterName ( string name ) =>
725+ name . Trim ( ) switch
726+ {
727+ [ '@' or '?' , '`' , .. var middle, '`' ] => middle . Replace ( "``" , "`" ) ,
728+ [ '@' or '?' , '\' ' , .. var middle, '\' ' ] => middle . Replace ( "''" , "'" ) ,
729+ [ '@' or '?' , '"' , .. var middle, '"' ] => middle . Replace ( "\" \" " , "\" " ) ,
730+ [ '@' or '?' , .. var rest] => rest ,
731+ { } other => other ,
732+ } ;
737733
738734#if NET6_0_OR_GREATER
739735 private static void WriteDateOnly ( ByteBufferWriter writer , DateOnly dateOnly )
0 commit comments