@@ -619,45 +619,40 @@ protected override PgConverter<T> CreateConverter(PgConverterResolution effectiv
619619 protected override PgConverterResolution ? GetEffectiveResolution ( T ? values , PgTypeId ? expectedEffectivePgTypeId )
620620 {
621621 PgConverterResolution ? resolution = null ;
622- if ( values is null )
622+ switch ( values )
623623 {
624- resolution = EffectiveTypeInfo . GetDefaultResolution ( expectedEffectivePgTypeId ) ;
625- }
626- else
627- {
628- switch ( values )
629- {
630- case TElement [ ] array :
631- foreach ( var value in array )
632- {
633- var result = EffectiveTypeInfo . GetResolution ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
634- resolution ??= result ;
635- }
636- break ;
637- case List < TElement > list :
638- foreach ( var value in list )
639- {
640- var result = EffectiveTypeInfo . GetResolution ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
641- resolution ??= result ;
642- }
643- break ;
644- case IList < TElement > list :
645- foreach ( var value in list )
646- {
647- var result = EffectiveTypeInfo . GetResolution ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
648- resolution ??= result ;
649- }
650- break ;
651- case Array array :
652- foreach ( var value in array )
653- {
654- var result = EffectiveTypeInfo . GetResolutionAsObject ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
655- resolution ??= result ;
656- }
657- break ;
658- default :
659- throw new NotSupportedException ( ) ;
660- }
624+ case TElement [ ] array :
625+ foreach ( var value in array )
626+ {
627+ var result = EffectiveTypeInfo . GetResolution ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
628+ resolution ??= result ;
629+ }
630+ break ;
631+ case List < TElement > list :
632+ foreach ( var value in list )
633+ {
634+ var result = EffectiveTypeInfo . GetResolution ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
635+ resolution ??= result ;
636+ }
637+ break ;
638+ case IList < TElement > list :
639+ foreach ( var value in list )
640+ {
641+ var result = EffectiveTypeInfo . GetResolution ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
642+ resolution ??= result ;
643+ }
644+ break ;
645+ case Array array :
646+ foreach ( var value in array )
647+ {
648+ var result = EffectiveTypeInfo . GetResolutionAsObject ( value , resolution ? . PgTypeId ?? expectedEffectivePgTypeId ) ;
649+ resolution ??= result ;
650+ }
651+ break ;
652+ case null :
653+ break ;
654+ default :
655+ throw new NotSupportedException ( ) ;
661656 }
662657
663658 return resolution ;
0 commit comments