我有一个类型化的 DataSet,其中包含多个要复制的表,包括数据和架构。我可以像我原来的那样访问表格:
MyDataSetType dsMyFirstDataSet;
MyDataTableType dtTable1;
MyDataTableType dtTable2;
dtTable1 = dsMyFirstDataSet.MeaningfulTableName1;
dtTable2 = dsMyFirstDataSet.MeaningfulTableName2;
当我执行以下操作时,我不能再通过新版本中的名称访问表,但我可以通过 Tables 集合。
MyDataSetType dsMySecondDataSet;
dsMySecondDataSet = dsMyFirstDataSet.Copy();
dtTable1 = dsMySecondDataSet.MeaningfulTableName1; // null
dtTable2 = dsMySecondDataSet.MeaningfulTableName2; // null
dtTable1 = dsMySecondDataSet.Tables[0]; // table not null/copied ok
dtTable2 = dsMySecondDataSet.Tables[1]; // table not null/copied ok
我目前正在像第二个示例一样通过索引访问它们,但我想知道为什么命名表链接已被切断?我是否必须编写自己的 Copy() 方法来保留对表的命名访问?