DataTable.Copy()를 호출하지 않고 둘 이상의 DataSet에 DataTable을 추가하고 싶습니다. DataTable을 복사하기 만하면 메모리에있는 데이터의 양이 두 배로 늘어나서 변경 사항을 관리하게됩니다. 세부 테이블에 둘 이상의 마스터가있을 수있는 세부 테이블 솔루션을 구현할 때이 문제점이 발생합니다.ADO .NET - 하나 이상의 DataSet에 DataTable 추가
도움이 될 경우이 스 니펫과 그에 따른 얼굴을 고려하십시오.
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 :-(
어떤 제안이 있습니까? 감사! 데이터 집합이 모바일 및 독립적으로 업데이트 할 수 있도록 설계되어 있기 때문에
는
죄송합니다. DataTable은 참조 유형이므로 의미가 없습니다. 행도 마찬가지입니다. –
Henk ... 단어 참조의 내 사용은 참조 유형과 값 유형 간의 .Net 구분과는 아무런 관련이 없습니다. 이런 맥락에서, 기술적으로 DataSet 자체는 참조가 아닙니다 .... 데이터 세트를 보유하고있는 변수 또는 참조 변수가 참조 변수이고 데이터 세트가 참조 유형 인 경우에도 ... DataSet 자체 힙에서) 데이터베이스의 데이터에 대한 "참조"가 아니며, 그 데이터의 사본이며 그 안에 모든 데이터를 포함합니다. –