Bugzilla – Bug 313664
DataSet class Merge method problem
Last modified: 2009-05-15 20:21:36 UTC
---- Reported by yraykar@hotmail.com 2004-01-20 02:03:32 MST ---- Please fill in this template when reporting a bug, unless you know what you are doing. Description of Problem: When you use a dataset and try to merge table in a dataset which is empty it does not work. The Merge method does not work on empty datasets that is dataset does not hold the table even after the Merge method is called. Steps to reproduce the problem: 1. Create a new instance of the dataset and try to merge a table to the dataset. 2. 3. Actual Results: Table does not get merged to dataset. Expected Results: The dataset should hold the table after the method Merge is called as in .NET Framework. How often does this happen? Always Additional Information: Unknown operating system unknown. Setting to default OS "Other".
Mono 2.4 Works with .Net normally Similar problem: Create MasterDataSet Create MergeDataSet Fill a new table and add to MergeDataSet Call MasterDataSet.Merge(MergeDataSet,True) --Fine up to this point Create MergeDataSet2 Fill a new table and add to MergeDataSet2 Call MasterDataSet.Merge(MergeDataSet2,True) --Exception occurs System.InvalidCastException: Cannot cast from source type to destination type. at System.Data.DataViewManager.CollectionToListChangeEventArgs (System.ComponentModel.CollectionChangeEventArgs e) [0x00038] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\DataViewManager.cs:423 at System.Data.DataViewManager.TableCollectionChanged (System.Object sender, System.ComponentModel.CollectionChangeEventArgs e) [0x00000] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\DataViewManager.cs:411 at System.Data.DataTableCollection.OnCollectionChanged (System.ComponentModel.CollectionChangeEventArgs ccevent) [0x0000b] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\DataTableCollection.cs:265 at System.Data.DataTableCollection.Add (System.Data.DataTable table) [0x000f2] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\DataTableCollection.cs:141 at System.Data.MergeManager.AdjustSchema (System.Data.DataSet targetSet, System.Data.DataTable sourceTable, MissingSchemaAction missingSchemaAction, System.Data.DataTable& newTable) [0x0004a] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\MergeManager.cs:276 at System.Data.MergeManager.Merge (System.Data.DataSet targetSet, System.Data.DataTable sourceTable, Boolean preserveChanges, MissingSchemaAction missingSchemaAction) [0x00032] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\MergeManager.cs:62 at System.Data.MergeManager.Merge (System.Data.DataSet targetSet, System.Data.DataSet sourceSet, Boolean preserveChanges, MissingSchemaAction missingSchemaAction) [0x0004d] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\MergeManager.cs:45 at System.Data.DataSet.Merge (System.Data.DataSet dataSet, Boolean preserveChanges, MissingSchemaAction missingSchemaAction) [0x00027] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\DataSet.cs:265 at System.Data.DataSet.Merge (System.Data.DataSet dataSet, Boolean preserveChanges) [0x00000] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.4\mcs\class\System.Data\System.Data\DataSet.cs:245
Created attachment 292565 [details] Test case that runs fine with trunk and verbatim 2.4 Attached is a simple test case that works fine with both trunk and verbatim 2.4. Try modifying it the way you use in your application in order to reproduce the bug and attach the modified test case back here. TIA.