Skip to content

Commit aa4b037

Browse files
committed
Fix provider constructors
1 parent b2c61f5 commit aa4b037

2 files changed

Lines changed: 25 additions & 12 deletions

File tree

Orm/Xtensive.Orm/Orm/Rse/Providers/Compilable/IncludeProvider.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,19 @@ public IncludeProvider(CompilableProvider source, IncludeAlgorithm algorithm, bo
9393
IsInlined = isInlined;
9494
FilterDataSource = filterDataSource;
9595
ResultColumnName = resultColumnName;
96-
FilteredColumns = filteredColumns is int[] columns ? Array.AsReadOnly(columns) : filteredColumns;
96+
97+
switch (filteredColumns) {
98+
case int[] columnArray:
99+
FilteredColumns = Array.AsReadOnly(columnArray);
100+
break;
101+
case List<int> columnList:
102+
FilteredColumns = columnList.AsReadOnly();
103+
break;
104+
default:
105+
FilteredColumns = filteredColumns;
106+
break;
107+
}
108+
97109
Initialize();
98110
}
99111
}

Orm/Xtensive.Orm/Orm/Rse/Providers/Compilable/SelectProvider.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,24 @@ protected override string ParametersToString()
3838

3939
// Constructors
4040

41-
/// <summary>
42-
/// Initializes a new instance of this class.
43-
/// </summary>
44-
public SelectProvider(CompilableProvider provider, int[] columnIndexes)
45-
: base(ProviderType.Select, provider)
46-
{
47-
this.ColumnIndexes = Array.AsReadOnly(columnIndexes);
48-
Initialize();
49-
}
50-
5141
/// <summary>
5242
/// Initializes a new instance of this class.
5343
/// </summary>
5444
public SelectProvider(CompilableProvider provider, IReadOnlyList<int> columnIndexes)
5545
: base(ProviderType.Select, provider)
5646
{
57-
this.ColumnIndexes = columnIndexes is int[] indexes ? indexes : columnIndexes;
47+
switch (columnIndexes) {
48+
case int[] indexArray:
49+
ColumnIndexes = Array.AsReadOnly(indexArray);
50+
break;
51+
case List<int> indexList:
52+
ColumnIndexes = indexList.AsReadOnly();
53+
break;
54+
default:
55+
ColumnIndexes = columnIndexes;
56+
break;
57+
}
58+
5859
Initialize();
5960
}
6061
}

0 commit comments

Comments
 (0)