@@ -127,26 +127,24 @@ private List<TypedValue> GetParameterTypedValues(ICriteria criteria, ICriteriaQu
127
127
{
128
128
IType type = GetElementType ( criteria , criteriaQuery ) ;
129
129
130
- if ( type . IsComponentType )
130
+ if ( ! type . IsComponentType )
131
131
{
132
- List < TypedValue > list = new List < TypedValue > ( ) ;
133
- IAbstractComponentType actype = ( IAbstractComponentType ) type ;
134
- IType [ ] types = actype . Subtypes ;
135
- for ( int vi = 0 ; vi < _values . Length ; vi ++ )
132
+ return _values . Select ( v => new TypedValue ( type , v , false ) ) . ToList ( ) ;
133
+ }
134
+
135
+ List < TypedValue > list = new List < TypedValue > ( ) ;
136
+ IAbstractComponentType actype = ( IAbstractComponentType ) type ;
137
+ var types = actype . Subtypes ;
138
+ foreach ( var value in _values )
139
+ {
140
+ var propertyValues = value != null ? actype . GetPropertyValues ( value ) : null ;
136
141
for ( int ti = 0 ; ti < types . Length ; ti ++ )
137
142
{
138
- object subval = _values [ vi ] == null
139
- ? null
140
- : actype . GetPropertyValues ( _values [ vi ] ) [ ti ] ;
141
- list . Add ( new TypedValue ( types [ ti ] , subval , false ) ) ;
143
+ list . Add ( new TypedValue ( types [ ti ] , propertyValues ? [ ti ] , false ) ) ;
142
144
}
143
-
144
- return list ;
145
- }
146
- else
147
- {
148
- return _values . ToList ( v => new TypedValue ( type , v , false ) ) ;
149
145
}
146
+
147
+ return list ;
150
148
}
151
149
152
150
/// <summary>
0 commit comments