public SubsetColumnTable(Table parent, int[] mapping, ObjectName[] aliases) : base(parent) { int[] reverseColumnMap = new int[Parent.TableInfo.ColumnCount]; for (int i = 0; i < reverseColumnMap.Length; ++i) { reverseColumnMap[i] = -1; } DataTableInfo parentInfo = Parent.TableInfo; subsetTableInfo = new SubsetTableInfo(parentInfo.Name); for (int i = 0; i < mapping.Length; ++i) { int mapTo = mapping[i]; DataColumnInfo colInfo = Parent.TableInfo[mapTo]; var newColumn = subsetTableInfo.NewColumn(aliases[i].Name, colInfo.DataType); newColumn.DefaultExpression = colInfo.DefaultExpression; newColumn.IsNullable = colInfo.IsNullable; subsetTableInfo.AddColumn(colInfo); reverseColumnMap[mapTo] = i; } subsetTableInfo.Setup(mapping, aliases); subsetTableInfo.IsReadOnly = true; }
public SubsetColumnTable(Table parent, int[] mapping, ObjectName[] aliases) : base(parent) { int[] reverseColumnMap = new int[Parent.TableInfo.ColumnCount]; for (int i = 0; i < reverseColumnMap.Length; ++i) { reverseColumnMap[i] = -1; } DataTableInfo parentInfo = Parent.TableInfo; subsetTableInfo = new SubsetTableInfo(parentInfo.Name); for (int i = 0; i < mapping.Length; ++i) { int mapTo = mapping[i]; DataColumnInfo colInfo = Parent.TableInfo[mapTo]; var newColumn = subsetTableInfo.NewColumn(aliases[i].Name, colInfo.DataType); newColumn.DefaultExpression = colInfo.DefaultExpression; newColumn.IsNullable = colInfo.IsNullable; subsetTableInfo.AddColumn(colInfo); reverseColumnMap[mapTo] = i; } subsetTableInfo.Setup(mapping, aliases); subsetTableInfo.IsReadOnly = true; }