Explain what a diffgram is and its usage ?

Answer Posted / 1647264

A DiffGram is an XML format that is used to identify current and original versions of data elements. The DataSet uses the DiffGram format to load and persist its contents, and to serialize its contents for transport across a network connection. When a DataSet is written as a DiffGram, it populates the DiffGram with all the necessary information to accurately recreate the contents, though not the schema, of the DataSet, including column values from both the Original and Current row versions, row error information, and row order.

When sending and retrieving a DataSet from an XML Web service, the DiffGram format is implicitly used. Additionally, when loading the contents of a DataSet from XML using the ReadXml method, or when writing the contents of a DataSet in XML using the WriteXml method, you can select that the contents be read or written as a DiffGram.

The DiffGram format is divided into three sections: the current data, the original (or "before") data, and an errors section, as shown in the following example.

<?xml version="1.0"?>

<diffgr:diffgram

xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"

xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<DataInstance>

</DataInstance>

<diffgr:before>

</diffgr:before>

<diffgr:errors>

</diffgr:errors>

</diffgr:diffgram>

The DiffGram format consists of the following blocks of data:

<DataInstance>

The name of this element, DataInstance, is used for explanation purposes in this documentation. A DataInstance element represents a DataSet or a row of a DataTable. Instead of DataInstance, the element would contain the name of the DataSet or DataTable. This block of the DiffGram format contains the current data, whether it has been modified or not. An element, or row, that has been modified is identified with the diffgr:hasChanges annotation.

<diffgr:before>

This block of the DiffGram format contains the original version of a row. Elements in this block are matched to elements in the DataInstance block using the diffgr:id annotation.

<diffgr:errors>

This block of the DiffGram format contains error information for a particular row in the DataInstance block. Elements in this block are matched to elements in the DataInstance block using the diffgr:id annotation.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the role of data provider in ado.net?

746


What is partial class?

738


How can we serialize the dataset object?

749


What you mean by filtering of data?

713


Which ado.net object is very fast in getting data from the database?

866


What is an ado?

739


How to generate a single aggregate?

743


How many major types of connection objects in ADO.NET?

810


What is the difference between connected and disconnected environment?

720


Explain how to find the given query is optimised one or not?

718


What is the role of the dataset object in ado.net?

803


differance between ADO vs ADO.Net?

767


What is disconnected architecture in ado.net?

728


What does executenonquery () method return?

687


What are the different layers of ado.net?

756