我想在不调用DataTable.Copy()的情况下将DataTable添加到多个数据集。简单地复制DataTable会使内存中的数据量增加一倍,并使我管理其变化。这个问题的存在是因为我正在实现一个细节表解决方案,其中一个细节表可以有多个主表。ADO .NET - 将数据表添加到多个数据集
如果有帮助,请考虑这个片段,并由此产生皱眉脸。
DataTable table1 = GetDataTable(); // 100 rows of data
DataTable table2 = table1;
DataSet1 dataset1 = new DataSet();
DataSet2 dataset2 = new DataSet();
dataset1.Tables.Add(table1);
dataset2.Tables.Add(table2); // fails because table2 already exists in dataset1 :-(
有没有什么专业的建议呢?谢谢!
对不起,这是没有意义的,因为DataTables是引用类型。行也是如此。 – 2009-10-19 19:22:05
Henk ...我对word引用的使用与引用类型和值类型之间的.Net区别无关。在这种情况下,从技术上讲,DataSet本身不是引用....即使保存数据集的变量,或指向它的变量是引用变量,并且数据集是引用Type,... DataSet本身在堆上)不是数据库中数据的“参考”,而是数据库的副本,并包含所有数据。 – 2010-03-25 15:40:15