Je souhaite ajouter un DataTable à plusieurs DataSet sans appeler DataTable.Copy(). La simple copie du DataTable double la quantité de données en mémoire et me permet de gérer ses modifications. Ce problème existe car j'implémente une solution de tables de détail dans laquelle une table de détails peut avoir plusieurs maîtres.ADO .NET - Ajout d'un DataTable à plusieurs DataSet
Si cela vous aide, considérez cet extrait et le visage frowny résultant.
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 :-(
Des idées professionnelles existent là? Merci!
Désolé, cela n'a aucun sens puisque les DataTables sont des types de références. Et ainsi sont les rangs. –
Henk ... Mon utilisation de la référence de mot n'a rien à voir avec la distinction .Net entre les types de référence et les types de valeur. Dans ce contexte, techniquement, les DataSets eux-mêmes ne sont pas des références .... même si la variable qui contient l'ensemble de données, ou les pointe vers lui est une variable de référence, et un dataset est un Type de référence, ... Le DataSet lui-même sur le tas) n'est pas une "référence" aux données dans la base de données, il s'agit d'une copie de, et comprend en son sein toutes ces données. –