DataSet Zusammenführen und AcceptChanges zu bekommen DiffGram

Ich habe zwei XML-Datensätze ds1 und ds2. Ich lese diese Daten-sets mit .ReadXML(name, XmlReadMode.ReadSchema). Ich werde versuchen, ein DiffGram mit den unterschieden zwischen den beiden mit einem zusammengeführten Datensatz wie unten gezeigt.

DataSet ds3 = new DataSet();
ds3.Merge(ds1);
ds3.AcceptChanges();
ds3.Merge(ds2);

DataSet ds4 = ds3.GetChanges();

ds4.WriteXml("ds4.xml", XmlWriteMode.DiffGram);

ds1 und ds2 jede enthält mehrere Elemente. Erstellt habe ich ds2 durch kopieren der ds1-Datei und ändern der Datensätze.

Allerdings, wenn ich mir anschaue, ds4.xml nach der Ausführung, es zeigt alle Datensätze ds1 und alle Datensätze in ds2 (es zeigt also, doppelte Einträge), und der ds2-updates als ... " diffgr:hasChanges="inserted">. Es scheint, dass dies nur einfügen, nicht vorhandene Datensätze zu aktualisieren.

Wie bekomme ich den ds4 nur die änderung, die vorgenommen wurde, in ds2?

InformationsquelleAutor John | 2011-06-29
Schreibe einen Kommentar