Я хотел бы добавить DataTable в несколько DataSet, не вызывая DataTable.Copy(). Простое копирование DataTable удваивает объем данных в памяти и заставляет меня управлять его изменениями. Эта проблема существует, потому что я реализую решение таблиц деталей, в которых таблица подробностей может содержать более одного мастера.ADO .NET - добавление DataTable к нескольким DataSet
Если это помогает, рассмотрите этот фрагмент и получившее назойливое лицо.
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 :-(
Любые предложения pro там? Благодаря!
Извините, это не имеет смысла, поскольку DataTables - это типы ссылок. Так же и строки. –
Хенк ... Мое использование ссылки на слово не имеет ничего общего с различием .Net между ссылочными типами и типами значений. В этом контексте технически сами DataSets не являются ссылками ... хотя переменная, содержащая набор данных или указывающая на нее, является ссылочной переменной, а набор данных является ссылочным типом ... Сам DataSet (вещь в куче) не является «ссылкой» на данные в базе данных, это копия и включает в себя все эти данные. –