Merging Two DataSets
The Merge( )
method
combines the data and structure of a second, or source,
DataSet
into a specified target
DataSet
with a similar structure. The
Merge( )
method is typically used in a client
application to update a DataSet
with the latest
changes to the underlying data in the data source.
When the Merge( )
method is called, the schemas of
the source and target DataSet
are compared. If
there are schema differences, the
MissingSchemaAction
argument determines whether
the target schema is updated to include the missing schema and data
or whether an exception is raised. If the
MissingSchemaAction
is specified as
Add
or AddWithKey
, the schema
is extended to accommodate the new data, and the primary key
information added in the case of the later value. Specifying
Ignore
results in the data for the missing schema
being ignored; specifying Error
results in an
exception being raised.
During the merge operation, source rows with a
RowState
of Unchanged
,
Modified
, or Deleted
are
matched to rows in the target DataSet
with the
same Current
primary key values. Source rows with
RowState
of New
are created in
the target DataSet
with the same primary key
values as the Current
value in the source because
the Original
version doesn’t
exist in the source. Figure 6-2 shows the result of
merging two tables with similar schemas, accepting the default
MissingSchemaAction
value of
Add
.
If the optional PreserveChanges
argument is set to
true
, incoming ...
Get ADO.NET in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.