﻿<?xml version="1.0" encoding="utf-8"?><Type Name="DataSet" FullName="System.Data.DataSet"><TypeSignature Language="C#" Maintainer="auto" Value="public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable" /><AssemblyInfo><AssemblyName>System.Data</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.3300.0</AssemblyVersion><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.ComponentModel.MarshalByValueComponent</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.ComponentModel.IListSource</InterfaceName></Interface><Interface><InterfaceName>System.ComponentModel.ISupportInitializeNotification</InterfaceName></Interface><Interface><InterfaceName>System.Runtime.Serialization.ISerializable</InterfaceName></Interface><Interface><InterfaceName>System.Xml.Serialization.IXmlSerializable</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Xml.Serialization.XmlRoot("DataSet")</AttributeName></Attribute><Attribute><AttributeName>System.Xml.Serialization.XmlSchemaProvider("GetDataSetSchema")</AttributeName></Attribute><Attribute><AttributeName>System.ComponentModel.Designer("Microsoft.VSDesigner.Data.VS.DataSetDesigner, Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.IDesigner")</AttributeName></Attribute><Attribute><AttributeName>System.ComponentModel.DefaultProperty("DataSetName")</AttributeName></Attribute><Attribute><AttributeName>System.ComponentModel.ToolboxItem("Microsoft.VSDesigner.Data.VS.DataSetToolboxItem, Microsoft.VSDesigner, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Data.DataSet" />, which is an in-memory cache of data retrieved from a data source, is a major component of the ADO.NET architecture. The <see cref="T:System.Data.DataSet" /> consists of a collection of <see cref="T:System.Data.DataTable" /> objects that you can relate to each other with <see cref="T:System.Data.DataRelation" /> objects. You can also enforce data integrity in the <see cref="T:System.Data.DataSet" /> by using the <see cref="T:System.Data.UniqueConstraint" /> and <see cref="T:System.Data.ForeignKeyConstraint" /> objects. For further details about working with <see cref="T:System.Data.DataSet" /> objects, see <format type="text/html"><a href="6d4c4b69-8919-4224-8a65-6cca1c61b48f">Using DataSets in ADO.NET</a></format>.</para><para>Whereas <see cref="T:System.Data.DataTable" /> objects contain the data, the <see cref="T:System.Data.DataRelationCollection" /> allows you to navigate though the table hierarchy. The tables are contained in a <see cref="T:System.Data.DataTableCollection" /> accessed through the <see cref="P:System.Data.DataSet.Tables" /> property. When accessing <see cref="T:System.Data.DataTable" /> objects, note that they are conditionally case sensitive. For example, if one <see cref="T:System.Data.DataTable" /> is named "mydatatable" and another is named "Mydatatable", a string used to search for one of the tables is regarded as case sensitive. However, if "mydatatable" exists and "Mydatatable" does not, the search string is regarded as case insensitive. For more information about working with <see cref="T:System.Data.DataTable" /> objects, see <format type="text/html"><a href="eecf9d78-60e3-4fdc-8de0-e56c13a89414">Creating a DataTable</a></format>.</para><para>A <see cref="T:System.Data.DataSet" /> can read and write data and schema as XML documents. The data and schema can then be transported across HTTP and used by any application, on any platform that is XML-enabled. You can save the schema as an XML schema with the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method, and both schema and data can be saved using the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> method. To read an XML document that includes both schema and data, use the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method.</para><para>In a typical multiple-tier implementation, the steps for creating and refreshing a <see cref="T:System.Data.DataSet" />, and in turn, updating the original data are to:</para><list type="ordered"><item><para>Build and fill each <see cref="T:System.Data.DataTable" /> in a <see cref="T:System.Data.DataSet" /> with data from a data source using a <see cref="T:System.Data.Common.DataAdapter" />.</para></item><item><para>Change the data in individual <see cref="T:System.Data.DataTable" /> objects by adding, updating, or deleting <see cref="T:System.Data.DataRow" /> objects.</para></item><item><para>Invoke the <see cref="M:System.Data.DataSet.GetChanges" /> method to create a second <see cref="T:System.Data.DataSet" /> that features only the changes to the data.</para></item><item><para>Call the <see cref="M:System.Data.Common.DataAdapter.Update(System.Data.DataSet)" /> method of the <see cref="T:System.Data.Common.DataAdapter" />, passing the second <see cref="T:System.Data.DataSet" /> as an argument.</para></item><item><para>Invoke the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method to merge the changes from the second <see cref="T:System.Data.DataSet" /> into the first.</para></item><item><para>Invoke the <see cref="M:System.Data.DataSet.AcceptChanges" /> on the <see cref="T:System.Data.DataSet" />. Alternatively, invoke <see cref="M:System.Data.DataSet.RejectChanges" /> to cancel the changes.</para></item></list><block subset="none" type="note"><para>The <see cref="T:System.Data.DataSet" /> and <see cref="T:System.Data.DataTable" /> objects inherit from <see cref="T:System.ComponentModel.MarshalByValueComponent" />, and support the <see cref="T:System.Runtime.Serialization.ISerializable" /> interface for remoting. These are the only ADO.NET objects that can be remoted.</para></block><block subset="none" type="note"><para>Classes inherited from <see cref="T:System.Data.DataSet" /> are not finalized by the garbage collector, because the finalizer has been suppressed in <see cref="T:System.Data.DataSet" />. The derived class can call the <see cref="M:System.GC.ReRegisterForFinalize(System.Object)" /> method in its constructor to allow the class to be finalized by the garbage collector.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Represents an in-memory cache of data.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public DataSet ();" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This implementation of the <see cref="T:System.Data.DataSet" /> constructor takes no parameters, and creates a default name, "NewDataSet," for the new instance.</para><para>A name for the <see cref="T:System.Data.DataSet" /> is required to ensure that the XML representation of the <see cref="T:System.Data.DataSet" /> always has a name for the document element, which is the highest-level element in a schema definition.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Data.DataSet" /> class.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public DataSet (string dataSetName);" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="dataSetName" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A name for the <see cref="T:System.Data.DataSet" /> is required to ensure that the XML representation of the <see cref="T:System.Data.DataSet" /> always has a name for the document element, which is the highest level element in a schema definition.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of a <see cref="T:System.Data.DataSet" /> class with the given name.</para></summary><param name="dataSetName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the <see cref="T:System.Data.DataSet" />.</param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected DataSet (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberType>Constructor</MemberType><ReturnValue /><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of a <see cref="T:System.Data.DataSet" /> class that has the given serialization information and context.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The data needed to serialize or deserialize an object. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The source and destination of a given serialized stream.</param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected DataSet (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context, bool constructSchema);" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /><Parameter Name="constructSchema" Type="System.Boolean" /></Parameters><Docs><param name="constructSchema">To be added.</param><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Data.DataSet" /> class.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object.</param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.StreamingContext" /> object.</param></Docs></Member><Member MemberName="AcceptChanges"><MemberSignature Language="C#" Value="public void AcceptChanges ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Both the <see cref="T:System.Data.DataRow" /> and <see cref="T:System.Data.DataTable" /> classes have <see cref="M:System.Data.DataSet.AcceptChanges" /> methods. Calling <see cref="M:System.Data.DataTable.AcceptChanges" /> at the <see cref="T:System.Data.DataTable" /> level causes the <see cref="M:System.Data.DataRow.AcceptChanges" /> method for each <see cref="T:System.Data.DataRow" /> to be called. Similarly, invoking <see cref="M:System.Data.DataSet.AcceptChanges" /> on the <see cref="T:System.Data.DataSet" /> causes <see cref="M:System.Data.DataTable.AcceptChanges" /> to be called on each table within the <see cref="T:System.Data.DataSet" />. In this manner, you have multiple levels at which the method can be invoked. Calling the <see cref="M:System.Data.DataSet.AcceptChanges" /> of the <see cref="T:System.Data.DataSet" /> enables you to invoke the method on all subordinate objects (for example, tables and rows) with one call.</para><para>When you call AcceptChanges on the DataSet, any <see cref="T:System.Data.DataRow" /> objects still in edit-mode end their edits successfully. The <see cref="P:System.Data.DataRow.RowState" /> property of each <see cref="T:System.Data.DataRow" /> also changes; Added and Modified rows become Unchanged, and Deleted rows are removed.</para><para>If the DataSet contains <see cref="T:System.Data.ForeignKeyConstraint" /> objects, invoking the AcceptChanges method also causes the <see cref="P:System.Data.ForeignKeyConstraint.AcceptRejectRule" /> to be enforced.</para><block subset="none" type="note"><para>AcceptChanges and RejectChanges only apply to DataRow related changes (that is, Add, Remove, Delete, and Modify). They are not applicable to schema or structural changes.</para><para>Calling AcceptChanges will not replicate these changes back to the data source if the DataSet was filled using a DataAdapter. In that situation, call <see cref="M:System.Data.Common.DataAdapter.Update(System.Data.DataSet)" /> instead. See <see cref="http://msdn.microsoft.com/library/33y2221y.aspx">Updating Data Sources with DataAdapters</see> for more information.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Commits all the changes made to this <see cref="T:System.Data.DataSet" /> since it was loaded or since the last time <see cref="M:System.Data.DataSet.AcceptChanges" /> was called.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="BeginInit"><MemberSignature Language="C#" Value="public void BeginInit ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The Visual Studio .NET design environment uses this method to start the initialization of a component that is used on a form or used by another component. The <see cref="M:System.Data.DataSet.EndInit" /> method ends the initialization. Using the <see cref="M:System.Data.DataSet.BeginInit" /> and <see cref="M:System.Data.DataSet.EndInit" /> methods prevents the control from being used before it is fully initialized.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins the initialization of a <see cref="T:System.Data.DataSet" /> that is used on a form or used by another component. The initialization occurs at run time.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="CaseSensitive"><MemberSignature Language="C#" Value="public bool CaseSensitive { set; get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters></Parameters><Docs><value><see langword="true" /> if string comparisons are case-sensitive, <see langword="false" /> otherwise. The default is <see langword="false" />.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Data.DataSet.CaseSensitive" /> property affects how sorting, searching, and filtering operations are performed on each <see cref="T:System.Data.DataTable" /> object contained in a <see cref="T:System.Data.DataSet" /> when using the <see cref="M:System.Data.DataTable.Select" /> method.</para><para>By default, setting the <see cref="P:System.Data.DataSet.CaseSensitive" /> property for a <see cref="T:System.Data.DataSet" /> also sets the <see cref="P:System.Data.DataTable.CaseSensitive" /> property of each associated <see cref="T:System.Data.DataTable" /> to the same value.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets a value indicating whether string comparisons within <see cref="T:System.Data.DataTable" /> objects are case-sensitive.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName></Attribute></Attributes></Member><Member MemberName="Clear"><MemberSignature Language="C#" Value="public void Clear ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the <see cref="T:System.Data.DataSet" /> is bound to an <see cref="T:System.Xml.XmlDataDocument" />, calling <see cref="M:System.Data.DataSet.Clear" /> or <see cref="M:System.Data.DataTable.Clear" /> raises the <see cref="T:System.NotSupportedException" />. To avoid this situation, traverse each table, removing each row one at a time.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Clears the <see cref="T:System.Data.DataSet" /> of any data by removing all rows in all tables.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Clone"><MemberSignature Language="C#" Value="public virtual System.Data.DataSet Clone ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.DataSet</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>If these classes have been subclassed, the clone will also be of the same subclasses.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Copies the structure of the <see cref="T:System.Data.DataSet" />, including all <see cref="T:System.Data.DataTable" /> schemas, relations, and constraints. Does not copy any data.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new <see cref="T:System.Data.DataSet" /> with the same schema as the current <see cref="T:System.Data.DataSet" />, but none of the data.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Copy"><MemberSignature Language="C#" Value="public System.Data.DataSet Copy ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.DataSet</ReturnType></ReturnValue><Parameters /><Docs><remarks>If the current object is a subclass of DataSet, the clone will also be of the same type.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Copies both the structure and data for this <see cref="T:System.Data.DataSet" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A new <see cref="T:System.Data.DataSet" /> with the same structure (table schemas, relations, and constraints) and data as this <see cref="T:System.Data.DataSet" />.</para><block subset="none" type="note"><para>If these classes have been subclassed, the copy will also be of the same subclasses.</para></block></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="CreateDataReader"><MemberSignature Language="C#" Value="public System.Data.DataTableReader CreateDataReader ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Data.DataTableReader</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>In order to ensure the order of the result sets within the returned <see cref="T:System.Data.DataTableReader" />, if a <see cref="T:System.Data.DataTable" /> within the <see cref="T:System.Data.DataSet" /> is empty, it is represented by an empty result set within the returned DataTableReader.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a <see cref="T:System.Data.DataTableReader" /> with one result set per <see cref="T:System.Data.DataTable" />, in the same sequence as the tables appear in the <see cref="P:System.Data.DataSet.Tables" /> collection.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.Data.DataTableReader" /> containing one or more result sets, corresponding to the <see cref="T:System.Data.DataTable" /> instances contained within the source <see cref="T:System.Data.DataSet" />.</para></returns></Docs></Member><Member MemberName="CreateDataReader"><MemberSignature Language="C#" Value="public System.Data.DataTableReader CreateDataReader (System.Data.DataTable[] dataTables);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Data.DataTableReader</ReturnType></ReturnValue><Parameters><Parameter Name="dataTables" Type="System.Data.DataTable[]"><Attributes><Attribute><AttributeName>System.ParamArray</AttributeName></Attribute></Attributes></Parameter></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>In order to ensure that the order of the result sets within the returned <see cref="T:System.Data.DataTableReader" />, if a <see cref="T:System.Data.DataTable" /> within the <see cref="T:System.Data.DataSet" /> is empty, it is represented by an empty result set within the returned DataTableReader. Because this overloaded version allows you to supply a list of DataTable instances as parameters, you can specify the order in which the result sets appear within the returned DataTableReader.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a <see cref="T:System.Data.DataTableReader" /> with one result set per <see cref="T:System.Data.DataTable" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.Data.DataTableReader" /> containing one or more result sets, corresponding to the <see cref="T:System.Data.DataTable" /> instances contained within the source <see cref="T:System.Data.DataSet" />. The returned result sets are in the order specified by the <paramref name="dataTables" /> parameter.</para></returns><param name="dataTables"><attribution license="cc4" from="Microsoft" modified="false" />An array of DataTables providing the order of the result sets to be returned in the <see cref="T:System.Data.DataTableReader" />.</param></Docs></Member><Member MemberName="DataSetName"><MemberSignature Language="C#" Value="public string DataSetName { set; get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>The name of the DataSet object.</value><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the name of the current <see cref="T:System.Data.DataSet" />.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DefaultValue("")</AttributeName></Attribute></Attributes></Member><Member MemberName="DefaultViewManager"><MemberSignature Language="C#" Value="public System.Data.DataViewManager DefaultViewManager { get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Data.DataViewManager</ReturnType></ReturnValue><Docs><value>The returned <see cref="T:System.Data.DataViewManager" /> allows you to create custom settings for each <see cref="T:System.Data.DataTable" /> contained within the DataSet object.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Data.DataViewManager" /> returned by the <see cref="P:System.Data.DataSet.DefaultViewManager" /> property allows you to create custom settings for each <see cref="T:System.Data.DataTable" /> in the <see cref="T:System.Data.DataSet" />.</para><para>When you obtain a <see cref="T:System.Data.DataView" /> from a <see cref="T:System.Data.DataTable" />, the sort order, filtering, and <see cref="T:System.Data.DataViewRowState" /> are configured according to the settings in the <see cref="P:System.Data.DataSet.DefaultViewManager" /> property.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a custom view of the data contained in the <see cref="T:System.Data.DataSet" /> to allow filtering, searching, and navigating using a custom <see cref="T:System.Data.DataViewManager" />.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.Browsable(false)</AttributeName></Attribute></Attributes></Member><Member MemberName="DetermineSchemaSerializationMode"><MemberSignature Language="C#" Value="protected System.Data.SchemaSerializationMode DetermineSchemaSerializationMode (System.Xml.XmlReader reader);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Data.SchemaSerializationMode</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Xml.XmlReader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method can be called when deserializing a typed <see cref="T:System.Data.DataSet" /> to determine its <see cref="P:System.Data.DataSet.SchemaSerializationMode" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines the <see cref="P:System.Data.DataSet.SchemaSerializationMode" /> for a <see cref="T:System.Data.DataSet" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An <see cref="T:System.Data.SchemaSerializationMode" /> enumeration indicating whether schema information has been omitted from the payload.</para></returns><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.XmlReader" /> instance that is passed during deserialization of the <see cref="T:System.Data.DataSet" />.</param></Docs></Member><Member MemberName="DetermineSchemaSerializationMode"><MemberSignature Language="C#" Value="protected System.Data.SchemaSerializationMode DetermineSchemaSerializationMode (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Data.SchemaSerializationMode</ReturnType></ReturnValue><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method can be called when deserializing a typed <see cref="T:System.Data.DataSet" /> to determine its <see cref="P:System.Data.DataSet.SchemaSerializationMode" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines the <see cref="P:System.Data.DataSet.SchemaSerializationMode" /> for a <see cref="T:System.Data.DataSet" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An <see cref="T:System.Data.SchemaSerializationMode" /> enumeration indicating whether schema information has been omitted from the payload.</para></returns><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that a DataSet’s protected constructor <see cref="M:System.Data.DataSet.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" /> is invoked with during deserialization in remoting scenarios. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that a DataSet’s protected constructor <see cref="M:System.Data.DataSet.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" /> is invoked with during deserialization in remoting scenarios.</param></Docs></Member><Member MemberName="EndInit"><MemberSignature Language="C#" Value="public void EndInit ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The Visual Studio .NET design environment uses this method to end the initialization of a component that is used on a form or used by another component. The <see cref="M:System.Data.DataSet.BeginInit" /> method starts the initialization. Using the <see cref="M:System.Data.DataSet.BeginInit" /> and <see cref="M:System.Data.DataSet.EndInit" /> methods prevents the control from being used before it is fully initialized.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Ends the initialization of a <see cref="T:System.Data.DataSet" /> that is used on a form or used by another component. The initialization occurs at run time.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="EnforceConstraints"><MemberSignature Language="C#" Value="public bool EnforceConstraints { set; get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters></Parameters><Docs><value><see langword="true" />, if rules are enforced, <see langword="false" /> otherwise. The default is <see langword="true" />.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Constraints are set at the <see cref="T:System.Data.DataTable" /> level (<see cref="P:System.Data.DataTable.Constraints" /> property). For more information about creating constraints, see <format type="text/html"><a href="27c9f2fd-f64d-4b4e-bbf6-1d24f47067cb">Adding Constraints to a Table</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets a value indicating whether constraint rules are followed when attempting any update operation.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DefaultValue(true)</AttributeName></Attribute></Attributes></Member><Member MemberName="ExtendedProperties"><MemberSignature Language="C#" Value="public System.Data.PropertyCollection ExtendedProperties { get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Data.PropertyCollection</ReturnType></ReturnValue><Docs><value>A <see cref="T:System.Data.PropertyCollection" /> with all custom user information.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Data.DataSet.ExtendedProperties" /> property enables you to store custom information with the DataSet. For example, you might store a time when the data should be refreshed.</para><para>Extended properties must be of type <see cref="T:System.String" /> if you want them persisted when the <see cref="T:System.Data.DataSet" /> is written as XML.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the collection of customized user information associated with the DataSet.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.Browsable(false)</AttributeName></Attribute></Attributes></Member><Member MemberName="GetChanges"><MemberSignature Language="C#" Value="public System.Data.DataSet GetChanges ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.DataSet</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a new <see cref="T:System.Data.DataSet" /> that contains a copy of all rows in the original <see cref="T:System.Data.DataSet" /> that have pending changes. Relationship constraints can cause additional unchanged rows to be added to the new <see cref="T:System.Data.DataSet" /> if the unchanged rows contain primary keys corresponding to foreign keys in the changed rows. The method returns null if there are no rows in the original <see cref="T:System.Data.DataSet" /> that have pending changes.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a copy of the <see cref="T:System.Data.DataSet" /> that contains all changes made to it since it was loaded or since <see cref="M:System.Data.DataSet.AcceptChanges" /> was last called.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of the changes from this <see cref="T:System.Data.DataSet" /> that can have actions performed on it and later be merged back in using <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" />. If no changed rows are found, the method returns null.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GetChanges"><MemberSignature Language="C#" Value="public System.Data.DataSet GetChanges (System.Data.DataRowState rowStates);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.DataSet</ReturnType></ReturnValue><Parameters><Parameter Name="rowStates" Type="System.Data.DataRowState" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.GetChanges" /> method is used to produce a second <see cref="T:System.Data.DataSet" /> object that contains only the changes introduced into the original. Use the <paramref name="rowStates" /> argument to specify the type of changes the new object should include.</para><para>This returned copy is designed to be merged back in to this original <see cref="T:System.Data.DataSet" />. Relationship constraints may cause parent rows marked Unchanged to be included. If no rows of the desired <see cref="T:System.Data.DataRowState" /> are found, the <see cref="M:System.Data.DataSet.GetChanges" /> method returns null.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a copy of the <see cref="T:System.Data.DataSet" /> containing all changes made to it since it was last loaded, or since <see cref="M:System.Data.DataSet.AcceptChanges" /> was called, filtered by <see cref="T:System.Data.DataRowState" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A filtered copy of the <see cref="T:System.Data.DataSet" /> that can have actions performed on it, and subsequently be merged back in using <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" />. If no rows of the desired <see cref="T:System.Data.DataRowState" /> are found, the method returns null.</para></returns><param name="rowStates"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.DataRowState" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GetDataSetSchema"><MemberSignature Language="C#" Value="public static System.Xml.Schema.XmlSchemaComplexType GetDataSetSchema (System.Xml.Schema.XmlSchemaSet schemaSet);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Xml.Schema.XmlSchemaComplexType</ReturnType></ReturnValue><Parameters><Parameter Name="schemaSet" Type="System.Xml.Schema.XmlSchemaSet" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a copy of <see cref="T:System.Xml.Schema.XmlSchemaSet" /> for the DataSet.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A copy of <see cref="T:System.Xml.Schema.XmlSchemaSet" />.</para></returns><param name="schemaSet"><attribution license="cc4" from="Microsoft" modified="false" />The specified schema set. </param></Docs></Member><Member MemberName="GetObjectData"><MemberSignature Language="C#" Value="public virtual void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Populates a serialization information object with the data needed to serialize the <see cref="T:System.Data.DataSet" />.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized data associated with the <see cref="T:System.Data.DataSet" />.</param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains the source and destination of the serialized stream associated with the <see cref="T:System.Data.DataSet" />.</param></Docs></Member><Member MemberName="GetSchemaSerializable"><MemberSignature Language="C#" Value="protected virtual System.Xml.Schema.XmlSchema GetSchemaSerializable ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Xml.Schema.XmlSchema</ReturnType></ReturnValue><Parameters /><Docs><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a serializable <see cref="T:System.Xml.Schema.XMLSchema" /> instance.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Xml.Schema.XMLSchema" /> instance.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GetSerializationData"><MemberSignature Language="C#" Value="protected void GetSerializationData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Deserializes the table data from the binary or XML stream.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> instance. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The streaming context. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GetXml"><MemberSignature Language="C#" Value="public string GetXml ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Calling this method is identical to calling <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> with <see cref="T:System.Data.XmlWriteMode" /> set to <see cref="F:System.Data.XmlWriteMode.IgnoreSchema" />.</para><para><see cref="M:System.Data.DataSet.GetXml" /> returns XML as a string, and therefore requires more overhead than <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> to write XML to a file.</para><para>If you build a <see cref="T:System.Data.DataSet" /> using schema inference and serialize it using XML or Web services, the column ordering may change.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the XML representation of the data stored in the <see cref="T:System.Data.DataSet" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A string that is a representation of the data stored in the <see cref="T:System.Data.DataSet" />.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GetXmlSchema"><MemberSignature Language="C#" Value="public string GetXmlSchema ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Calling this method is identical to calling <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" />, except that only the primary schema is written.</para><para><see cref="M:System.Data.DataSet.GetXmlSchema" /> returns XML as a string, and therefore requires more overhead than <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> to write XML to a file.</para><para>If you build a <see cref="T:System.Data.DataSet" /> using schema inference and serialize it using XML or Web services, the column ordering may change.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the XML Schema for the XML representation of the data stored in the <see cref="T:System.Data.DataSet" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>String that is the XML Schema for the XML representation of the data stored in the <see cref="T:System.Data.DataSet" />.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="HasChanges"><MemberSignature Language="C#" Value="public bool HasChanges ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks>It is a good idea to call HasChanges before invoking <see cref="M:System.DataSet.GetChanges" />.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether the <see cref="T:System.Data.DataSet" /> has changes, including new, deleted, or modified rows.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the <see cref="T:System.Data.DataSet" /> has changes; otherwise false.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="HasChanges"><MemberSignature Language="C#" Value="public bool HasChanges (System.Data.DataRowState rowStates);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="rowStates" Type="System.Data.DataRowState" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Examine the <see cref="M:System.Data.DataSet.HasChanges" /> property of the DataSet before invoking the <see cref="M:System.Data.DataSet.GetChanges" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether the <see cref="T:System.Data.DataSet" /> has changes, including new, deleted, or modified rows, filtered by <see cref="T:System.Data.DataRowState" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the <see cref="T:System.Data.DataSet" /> has changes; otherwise false.</para></returns><param name="rowStates"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.DataRowState" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="HasErrors"><MemberSignature Language="C#" Value="public bool HasErrors { get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value><see langword="true" /> if any table contains an error, <see langword="false" /> otherwise.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Each <see cref="T:System.Data.DataTable" /> in a <see cref="T:System.Data.DataSet" /> also has a <see cref="P:System.Data.DataTable.HasErrors" /> property. Use the HasErrors property of the DataSet first, to determine if any table has errors, before checking individual <see cref="T:System.Data.DataTable" /> objects. If a DataTable has errors, the <see cref="M:System.Data.DataTable.GetErrors" /> method returns an array of <see cref="T:System.Data.DataRow" /> objects containing the errors.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether there are errors in any of the <see cref="T:System.Data.DataTable" /> objects within this <see cref="T:System.Data.DataSet" />.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.Browsable(false)</AttributeName></Attribute></Attributes></Member><Member MemberName="InferXmlSchema"><MemberSignature Language="C#" Value="public void InferXmlSchema (System.IO.Stream stream, string[] nsArray);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="stream" Type="System.IO.Stream" /><Parameter Name="nsArray" Type="System.String[]" /></Parameters><Docs><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Applies the XML schema from the specified <see cref="T:System.IO.Stream" /> to the <see cref="T:System.Data.DataSet" />.</para></summary><param name="stream"><attribution license="cc4" from="Microsoft" modified="false" />The Stream from which to read the schema. </param><param name="nsArray"><attribution license="cc4" from="Microsoft" modified="false" />An array of namespace Uniform Resource Identifier (URI) strings to be excluded from schema inference. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="InferXmlSchema"><MemberSignature Language="C#" Value="public void InferXmlSchema (System.IO.TextReader reader, string[] nsArray);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.IO.TextReader" /><Parameter Name="nsArray" Type="System.String[]" /></Parameters><Docs><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Applies the XML schema from the specified <see cref="T:System.IO.TextReader" /> to the <see cref="T:System.Data.DataSet" />.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The TextReader from which to read the schema. </param><param name="nsArray"><attribution license="cc4" from="Microsoft" modified="false" />An array of namespace Uniform Resource Identifier (URI) strings to be excluded from schema inference. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="InferXmlSchema"><MemberSignature Language="C#" Value="public void InferXmlSchema (string fileName, string[] nsArray);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="fileName" Type="System.String" /><Parameter Name="nsArray" Type="System.String[]" /></Parameters><Docs><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Applies the XML schema from the specified file to the <see cref="T:System.Data.DataSet" />.</para></summary><param name="fileName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the file (including the path) from which to read the schema. </param><param name="nsArray"><attribution license="cc4" from="Microsoft" modified="false" />An array of namespace Uniform Resource Identifier (URI) strings to be excluded from schema inference. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="InferXmlSchema"><MemberSignature Language="C#" Value="public void InferXmlSchema (System.Xml.XmlReader reader, string[] nsArray);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Xml.XmlReader" /><Parameter Name="nsArray" Type="System.String[]" /></Parameters><Docs><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Applies the XML schema from the specified <see cref="T:System.Xml.XmlReader" /> to the <see cref="T:System.Data.DataSet" />. </para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The XMLReader from which to read the schema. </param><param name="nsArray"><attribution license="cc4" from="Microsoft" modified="false" />An array of namespace Uniform Resource Identifier (URI) strings to be excluded from schema inference. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Initialized"><MemberSignature Language="C#" Value="public event EventHandler Initialized;" /><MemberType>Event</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.EventHandler</ReturnType></ReturnValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For more information, see <see cref="P:System.Data.DataSet.IsInitialized" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Occurs after the <see cref="T:System.Data.DataSet" /> is initialized.</para></summary></Docs></Member><Member MemberName="InitializeDerivedDataSet"><MemberSignature Language="C#" Value="protected virtual void InitializeDerivedDataSet ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Deserialize all of the tables data of the DataSet from the binary or XML stream.</para></summary></Docs></Member><Member MemberName="IsBinarySerialized"><MemberSignature Language="C#" Value="protected bool IsBinarySerialized (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Inspects the format of the serialized representation of the DataSet.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the specified <see cref="T:System.Runtime.Serialization.SerializationInfo" /> represents a DataSet serialized in its binary format, false otherwise.</para></returns><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object.</param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.StreamingContext" /> object.</param></Docs></Member><Member MemberName="IsInitialized"><MemberSignature Language="C#" Value="public bool IsInitialized { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.Browsable(false)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns the status of the <see cref="T:System.Data.DataSet" /> while it’s being constructed, for instance by Visual Studio. The <see cref="M:System.Data.DataSet.BeginInit" /> method sets it to false and <see cref="M:System.Data.DataSet.EndInit" /> method sets it to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value that indicates whether the <see cref="T:System.Data.DataSet" /> is initialized.</para></summary></Docs></Member><Member MemberName="Load"><MemberSignature Language="C#" Value="public void Load (System.Data.IDataReader reader, System.Data.LoadOption loadOption, System.Data.DataTable[] tables);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Data.IDataReader" /><Parameter Name="loadOption" Type="System.Data.LoadOption" /><Parameter Name="tables" Type="System.Data.DataTable[]"><Attributes><Attribute><AttributeName>System.ParamArray</AttributeName></Attribute></Attributes></Parameter></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="Overload:System.Data.DataTable.Load" /> method provides a technique for filling a single <see cref="T:System.Data.DataTable" /> with data, retrieved from an <see cref="T:System.Data.IDataReader" /> instance. This method provides the same functionality, but allows you to load multiple result sets from an <see cref="T:System.Data.IDataReader" /> into multiple tables within a <see cref="T:System.Data.DataSet" />.</para><block subset="none" type="note"><para>The load operation will fail with an <see cref="T:System.InvalidOperationException" /> if any of the source data columns in the incoming <paramref name="reader" /> are computed columns.</para></block><para>The <paramref name="loadOption" /> parameter allows you to specify how you want the imported data to interact with existing data, and can be any of the values from the <see cref="T:System.Data.LoadOption" /> enumeration. See the documentation for the <see cref="T:System.Data.DataTable" /><see cref="M:System.Data.DataTable.Load(System.Data.IDataReader,System.Data.LoadOption)" /> method for more information on using this parameter.</para><para>The <paramref name="tables" /> parameter allows you to specify an array of <see cref="T:System.Data.DataTable" /> instances, indicating the order of the tables corresponding to each result set loaded from the reader. The <see cref="M:System.Data.DataSet.Load(System.Data.IDataReader,System.Data.LoadOption,System.Data.DataTable[])" /> method fills each supplied <see cref="T:System.Data.DataTable" /> instance with data from a single result set from the source data reader. After each result set, the <see cref="M:System.Data.DataSet.Load(System.Data.IDataReader,System.Data.LoadOption,System.Data.DataTable[])" /> method moves on to the next result set within the reader, until there are no more result sets.</para><para>The name resolution scheme for this method is the same as that followed by the <see cref="M:System.Data.Common.DbDataAdapter.Fill(System.Data.DataSet)" /> method of the <see cref="T:System.Data.Common.DbDataAdapter" /> class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Fills a <see cref="T:System.Data.DataSet" /> with values from a data source using the supplied <see cref="T:System.Data.IDataReader" />, using an array of <see cref="T:System.Data.DataTable" /> instances to supply the schema and namespace information.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Data.IDataReader" /> that provides one or more result sets. </param><param name="loadOption"><attribution license="cc4" from="Microsoft" modified="false" />A value from the <see cref="T:System.Data.LoadOption" /> enumeration that indicates how rows already in the <see cref="T:System.Data.DataTable" /> instances within the <see cref="T:System.Data.DataSet" /> will be combined with incoming rows that share the same primary key. </param><param name="tables"><attribution license="cc4" from="Microsoft" modified="false" />An array of <see cref="T:System.Data.DataTable" /> instances, from which the <see cref="M:System.Data.DataSet.Load(System.Data.IDataReader,System.Data.LoadOption,System.Data.DataTable[])" /> method retrieves name and namespace information. Each of these tables must be a member of the <see cref="T:System.Data.DataTableCollection" /> contained by this <see cref="T:System.Data.DataSet" />.</param></Docs></Member><Member MemberName="Load"><MemberSignature Language="C#" Value="public void Load (System.Data.IDataReader reader, System.Data.LoadOption loadOption, string[] tables);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Data.IDataReader" /><Parameter Name="loadOption" Type="System.Data.LoadOption" /><Parameter Name="tables" Type="System.String[]"><Attributes><Attribute><AttributeName>System.ParamArray</AttributeName></Attribute></Attributes></Parameter></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="Overload:System.Data.DataTable.Load" /> method provides a technique for filling a single <see cref="T:System.Data.DataTable" /> with data, retrieved from an <see cref="T:System.Data.IDataReader" /> instance. This method provides the same functionality, but allows you to load multiple result sets from an IDataReader into multiple tables within a DataSet.</para><block subset="none" type="note"><para>The load operation will fail with an <see cref="T:System.InvalidOperationException" /> if any of the source data columns in the incoming <paramref name="reader" /> are computed columns.</para></block><para>The <paramref name="loadOption" /> parameter allows you to specify how you want the imported data to interact with existing data, and can be any of the values from the <see cref="T:System.Data.LoadOption" /> enumeration. See the documentation for the <see cref="M:System.Data.DataTable.Load(System.Data.IDataReader,System.Data.LoadOption)" /> method for more information on using this parameter.</para><para>The <paramref name="tables" /> parameter allows you to specify an array of table names, indicating the order of the tables corresponding to each result set loaded from the reader. The Load method attempts to find a table within the DataSet matching the name found in the array of table names, in order. If a matching table is found, that table is loaded with the content of the current result set. If no matching table is found, a table is created using the name supplied in the array of table names, and the new table's schema is inferred from the result set. After each result set, the Load method moves on to the next result set within the reader, until there are no more result sets.</para><para>The default namespace associated with DataSet, if any, is associated with each newly created DataTable. The name resolution scheme for this method is the same as that followed by the <see cref="M:System.Data.Common.DbDataAdapter.Fill(System.Data.DataSet)" /> method of the <see cref="T:System.Data.Common.DbDataAdapter" /> class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Fills a <see cref="T:System.Data.DataSet" /> with values from a data source using the supplied <see cref="T:System.Data.IDataReader" />, using an array of strings to supply the names for the tables within the DataSet.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Data.IDataReader" /> that provides one or more result sets.</param><param name="loadOption"><attribution license="cc4" from="Microsoft" modified="false" />A value from the <see cref="T:System.Data.LoadOption" /> enumeration that indicates how rows already in the <see cref="T:System.Data.DataTable" /> instances within the DataSet will be combined with incoming rows that share the same primary key. </param><param name="tables"><attribution license="cc4" from="Microsoft" modified="false" />An array of strings, from which the Load method retrieves table name information.</param></Docs></Member><Member MemberName="Load"><MemberSignature Language="C#" Value="public virtual void Load (System.Data.IDataReader reader, System.Data.LoadOption loadOption, System.Data.FillErrorEventHandler errorHandler, System.Data.DataTable[] tables);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Data.IDataReader" /><Parameter Name="loadOption" Type="System.Data.LoadOption" /><Parameter Name="errorHandler" Type="System.Data.FillErrorEventHandler" /><Parameter Name="tables" Type="System.Data.DataTable[]"><Attributes><Attribute><AttributeName>System.ParamArray</AttributeName></Attribute></Attributes></Parameter></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="Overload:System.Data.DataTable.Load" /> method provides a technique for filling a single <see cref="T:System.Data.DataTable" /> with data, retrieved from an <see cref="T:System.Data.IDataReader" /> instance. This method provides the same functionality, but allows you to load multiple result sets from an <see cref="T:System.Data.IDataReader" /> into multiple tables within a <see cref="T:System.Data.DataSet" />.</para><block subset="none" type="note"><para>The load operation will fail with an <see cref="T:System.InvalidOperationException" /> if any of the source data columns in the incoming <paramref name="reader" /> are computed columns.</para></block><para>The <paramref name="loadOption" /> parameter allows you to specify how you want the imported data to interact with existing data, and can be any of the values from the <see cref="T:System.Data.LoadOption" /> enumeration. See the documentation for the <see cref="T:System.Data.DataTable" /><see cref="M:System.Data.DataTable.Load(System.Data.IDataReader,System.Data.LoadOption)" /> method for more information on using this parameter.</para><para>The <paramref name="errorHandler" /> parameter is a <see cref="T:System.Data.FillErrorEventHandler" /> delegate that refers to a procedure that is called when an error occurs while loading data. The <see cref="T:System.Data.FillErrorEventArgs" /> parameter passed to the procedure provides properties that allow you to retrieve information about the error that occurred, the current row of data, and the <see cref="T:System.Data.DataTable" /> being filled. Using this delegate mechanism, rather than a simpler try/catch block, allows you to determine the error, handle the situation, and continue processing if you like. The <see cref="T:System.Data.FillErrorEventArgs" /> parameter supplies a <see cref="P:System.Data.FillErrorEventArgs.Continue" /> property: set this property to true to indicate that you have handled the error and wish to continue processing; set the property to false to indicate that you wish to halt processing. Be aware that setting the property to false causes the code that triggered the problem to throw an exception.</para><para>The <paramref name="tables" /> parameter allows you to specify an array of <see cref="T:System.Data.DataTable" /> instances, indicating the order of the tables corresponding to each result set loaded from the reader. The <see cref="M:System.Data.DataSet.Load(System.Data.IDataReader,System.Data.LoadOption,System.Data.FillErrorEventHandler,System.Data.DataTable[])" /> method fills each supplied <see cref="T:System.Data.DataTable" /> instance with data from a single result set from the source data reader. After each result set, the <see cref="M:System.Data.DataSet.Load(System.Data.IDataReader,System.Data.LoadOption,System.Data.FillErrorEventHandler,System.Data.DataTable[])" /> method moves on to the next result set within the reader, until there are no more result sets.</para><para>The name resolution scheme for this method is the same as that followed by the <see cref="M:System.Data.Common.DbDataAdapter.Fill(System.Data.DataSet)" /> method of the <see cref="T:System.Data.Common.DbDataAdapter" /> class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Fills a <see cref="T:System.Data.DataSet" /> with values from a data source using the supplied <see cref="T:System.Data.IDataReader" />, using an array of <see cref="T:System.Data.DataTable" /> instances to supply the schema and namespace information.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Data.IDataReader" /> that provides one or more result sets.</param><param name="loadOption"><attribution license="cc4" from="Microsoft" modified="false" />A value from the <see cref="T:System.Data.LoadOption" /> enumeration that indicates how rows already in the <see cref="T:System.Data.DataTable" /> instances within the <see cref="T:System.Data.DataSet" /> will be combined with incoming rows that share the same primary key. </param><param name="errorHandler"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Data.FillErrorEventHandler" /> delegate to call when an error occurs while loading data.</param><param name="tables"><attribution license="cc4" from="Microsoft" modified="false" />An array of <see cref="T:System.Data.DataTable" /> instances, from which the <see cref="M:System.Data.DataSet.Load(System.Data.IDataReader,System.Data.LoadOption,System.Data.FillErrorEventHandler,System.Data.DataTable[])" /> method retrieves name and namespace information.</param></Docs></Member><Member MemberName="Locale"><MemberSignature Language="C#" Value="public System.Globalization.CultureInfo Locale { set; get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Globalization.CultureInfo</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>A <see cref="T:System.Globalization.CultureInfo" /> that contains data about the user's machine locale. The default is a null reference.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Data.DataSet.Locale" /> property specifies the locale for which sorting applies.</para><para>By default, setting the <see cref="P:System.Data.DataSet.Locale" /> for a <see cref="T:System.Data.DataSet" /> also sets the <see cref="P:System.Data.DataSet.Locale" /> for each <see cref="T:System.Data.DataTable" /> object in that DataSet to the same value.</para><block subset="none" type="note"><para>In columns that contain expressions, the <see cref="F:System.StringComparison.InvariantCulture" /> is used. The <see cref="F:System.StringComparison.CurrentCulture" /> is ignored.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the locale information used to compare strings within the table.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Merge"><MemberSignature Language="C#" Value="public void Merge (System.Data.DataRow[] rows);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="rows" Type="System.Data.DataRow[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is used to merge two <see cref="T:System.Data.DataSet" /> objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing <see cref="T:System.Data.DataSet" />. This allows the client application to have a refreshed <see cref="T:System.Data.DataSet" /> with the latest data from the data source.</para><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing <see cref="T:System.Data.DataSet" />.</para><para>In a client application, it is common to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle-tier component. In this scenario, the <see cref="M:System.Data.DataSet.GetChanges" /> method is first invoked. That method returns a second <see cref="T:System.Data.DataSet" /> optimized for validating and merging. This second <see cref="T:System.Data.DataSet" /> object contains only the <see cref="T:System.Data.DataTable" /> and <see cref="T:System.Data.DataRow" /> objects that were changed, resulting in a subset of the original <see cref="T:System.Data.DataSet" />. This subset is generally smaller and thus more efficiently passed back to a middle-tier component. The middle-tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new <see cref="T:System.Data.DataSet" /> that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned <see cref="T:System.Data.DataSet" /> can be merged back into the client application's original <see cref="T:System.Data.DataSet" /> with the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method.</para><para>When the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is called, the schemas of the two <see cref="T:System.Data.DataSet" /> objects are compared because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source <see cref="T:System.Data.DataSet" /> contains schema elements (added <see cref="T:System.Data.DataColumn" /> objects) that are missing in the target, the schema elements can be added to the target by setting the <paramref name="missingSchemaAction" /> argument to MissingSchemaAction.Add. In that case, the merged <see cref="T:System.Data.DataSet" /> contains the added schema and data.</para><para>After merging schemas, the data is merged.</para><para>When merging a new source <see cref="T:System.Data.DataSet" /> into the target, any source rows with a <see cref="T:System.Data.DataRowState" /> value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a <see cref="T:System.Data.DataRowState" /> value of Added are matched to new target rows with the same primary key values as the new source rows.</para><para>During a merge, constraints are disabled. If any constraints cannot be enabled at the end of a merge, a <see cref="T:System.Data.ConstraintException" /> is generated and the merged data is retained while the constraints are disabled. In this case, the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property is set to false, and all rows that are invalid are marked in error. The errors must be resolved before attempting to reset the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Merges an array of <see cref="T:System.Data.DataRow" /> objects into the current <see cref="T:System.Data.DataSet" />.</para></summary><param name="rows"><attribution license="cc4" from="Microsoft" modified="false" />The array of DataRow objects to be merged into the DataSet. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Merge"><MemberSignature Language="C#" Value="public void Merge (System.Data.DataSet dataSet);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="dataSet" Type="System.Data.DataSet" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is used to merge two <see cref="T:System.Data.DataSet" /> objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing <see cref="T:System.Data.DataSet" />. This allows the client application to have a refreshed <see cref="T:System.Data.DataSet" /> with the latest data from the data source.</para><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing <see cref="T:System.Data.DataSet" />.</para><para>In a client application, it is common to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle-tier component. In this scenario, the <see cref="M:System.Data.DataSet.GetChanges" /> method is first invoked. That method returns a second <see cref="T:System.Data.DataSet" /> optimized for validating and merging. This second <see cref="T:System.Data.DataSet" /> object contains only the <see cref="T:System.Data.DataTable" /> and <see cref="T:System.Data.DataRow" /> objects that were changed, resulting in a subset of the original <see cref="T:System.Data.DataSet" />. This subset is generally smaller, and thus more efficiently passed back to a middle-tier component. The middle-tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new <see cref="T:System.Data.DataSet" /> that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned <see cref="T:System.Data.DataSet" /> can be merged back into the client application's original <see cref="T:System.Data.DataSet" /> with the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method.</para><para>When the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is called, the schemas of the two <see cref="T:System.Data.DataSet" /> objects are compared because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source <see cref="T:System.Data.DataSet" /> contains schema elements (added <see cref="T:System.Data.DataColumn" /> objects) that are missing in the target, the schema elements can be added to the target by setting the <paramref name="missingSchemaAction" /> argument to MissingSchemaAction.Add. In that case, the merged <see cref="T:System.Data.DataSet" /> contains the added schema and data.</para><para>After merging schemas, the data is merged.</para><para>When merging a new source <see cref="T:System.Data.DataSet" /> into the target, any source rows with a <see cref="T:System.Data.DataRowState" /> value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a DataRowState value of Added are matched to new target rows with the same primary key values as the new source rows.</para><para>During a merge, constraints are disabled. If any constraints cannot be enabled at the end of merge, a <see cref="T:System.Data.ConstraintException" /> is generated and the merged data is retained while the constraints are disabled. In this case, the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property is set to false, and all rows that are invalid are marked in error. The errors must be resolved before attempting to reset the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Merges a specified <see cref="T:System.Data.DataSet" /> and its schema into the current DataSet.</para></summary><param name="dataSet"><attribution license="cc4" from="Microsoft" modified="false" />The DataSet whose data and schema will be merged. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Merge"><MemberSignature Language="C#" Value="public void Merge (System.Data.DataTable table);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="table" Type="System.Data.DataTable" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is used to merge two <see cref="T:System.Data.DataSet" /> objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing <see cref="T:System.Data.DataSet" />. This allows the client application to have a refreshed <see cref="T:System.Data.DataSet" /> with the latest data from the data source.</para><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing <see cref="T:System.Data.DataSet" />.</para><para>In a client application, it is common to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle-tier component. In this scenario, the <see cref="M:System.Data.DataSet.GetChanges" /> method is first invoked. That method returns a second <see cref="T:System.Data.DataSet" /> optimized for validating and merging. This second <see cref="T:System.Data.DataSet" /> object contains only the <see cref="T:System.Data.DataTable" /> and <see cref="T:System.Data.DataRow" /> objects that were changed, resulting in a subset of the original <see cref="T:System.Data.DataSet" />. This subset is generally smaller, and thus more efficiently passed back to a middle-tier component. The middle-tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new <see cref="T:System.Data.DataSet" /> that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned <see cref="T:System.Data.DataSet" /> can be merged back into the client application's original <see cref="T:System.Data.DataSet" /> with the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method.</para><para>When the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is called, the schemas of the two <see cref="T:System.Data.DataSet" /> objects are compared because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source <see cref="T:System.Data.DataSet" /> contains schema elements (added <see cref="T:System.Data.DataColumn" /> objects) that are missing in the target, the schema elements can be added to the target by setting the <paramref name="missingSchemaAction" /> argument to MissingSchemaAction.Add. In that case, the merged <see cref="T:System.Data.DataSet" /> contains the added schema and data.</para><para>After merging schemas, the data is merged.</para><para>When merging a new source <see cref="T:System.Data.DataSet" /> into the target, any source rows with a <see cref="T:System.Data.DataRowState" /> value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a DataRowState value of Added are matched to new target rows with the same primary key values as the new source rows.</para><para>During a merge, constraints are disabled. If any constraints cannot be enabled at the end of merge, a <see cref="T:System.Data.ConstraintException" /> is generated and the merged data is retained while the constraints are disabled. In this case, the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property is set to false, and all rows that are invalid are marked in error. The errors must be resolved before attempting to reset the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Merges a specified <see cref="T:System.Data.DataTable" /> and its schema into the current <see cref="T:System.Data.DataSet" />.</para></summary><param name="table"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Data.DataTable" /> whose data and schema will be merged. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Merge"><MemberSignature Language="C#" Value="public void Merge (System.Data.DataSet dataSet, bool preserveChanges);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="dataSet" Type="System.Data.DataSet" /><Parameter Name="preserveChanges" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is used to merge two <see cref="T:System.Data.DataSet" /> objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing <see cref="T:System.Data.DataSet" />. This allows the client application to have a refreshed <see cref="T:System.Data.DataSet" /> with the latest data from the data source.</para><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing <see cref="T:System.Data.DataSet" />.</para><para>In a client application, it is common to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle-tier component. In this scenario, the <see cref="M:System.Data.DataSet.GetChanges" /> method is first invoked. That method returns a second <see cref="T:System.Data.DataSet" /> optimized for validating and merging. This second <see cref="T:System.Data.DataSet" /> object contains only the <see cref="T:System.Data.DataTable" /> and <see cref="T:System.Data.DataRow" /> objects that were changed, resulting in a subset of the original <see cref="T:System.Data.DataSet" />. This subset is generally smaller, and thus more efficiently passed back to a middle-tier component. The middle-tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new <see cref="T:System.Data.DataSet" /> that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned <see cref="T:System.Data.DataSet" /> can be merged back into the client application's original <see cref="T:System.Data.DataSet" /> with the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method.</para><para>When the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is called, the schemas of the two <see cref="T:System.Data.DataSet" /> objects are compared because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source <see cref="T:System.Data.DataSet" /> contains schema elements (added <see cref="T:System.Data.DataColumn" /> objects) that are missing in the target, the schema elements can be added to the target by setting the <paramref name="missingSchemaAction" /> argument to MissingSchemaAction.Add. In that case, the merged <see cref="T:System.Data.DataSet" /> contains the added schema and data.</para><para>After merging schemas, the data is merged.</para><para>When merging a new source <see cref="T:System.Data.DataSet" /> into the target, any source rows with a <see cref="T:System.Data.DataRowState" /> value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a DataRowState value of Added are matched to new target rows with the same primary key values as the new source rows.</para><para>During a merge, constraints are disabled. If any constraints cannot be enabled at the end of merge, a <see cref="T:System.Data.ConstraintException" /> is generated and the merged data is retained while the constraints are disabled. In this case, the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property is set to false, and all rows that are invalid are marked in error. The errors must be resolved before attempting to reset the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Merges a specified <see cref="T:System.Data.DataSet" /> and its schema into the current DataSet, preserving or discarding any changes in this DataSet according to the given argument.</para></summary><param name="dataSet"><attribution license="cc4" from="Microsoft" modified="false" />The DataSet whose data and schema will be merged. </param><param name="preserveChanges"><attribution license="cc4" from="Microsoft" modified="false" />true to preserve changes in the current DataSet; otherwise false. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Merge"><MemberSignature Language="C#" Value="public void Merge (System.Data.DataRow[] rows, bool preserveChanges, System.Data.MissingSchemaAction missingSchemaAction);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="rows" Type="System.Data.DataRow[]" /><Parameter Name="preserveChanges" Type="System.Boolean" /><Parameter Name="missingSchemaAction" Type="System.Data.MissingSchemaAction" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is used to merge two <see cref="T:System.Data.DataSet" /> objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing <see cref="T:System.Data.DataSet" />. This allows the client application to have a refreshed <see cref="T:System.Data.DataSet" /> with the latest data from the data source.</para><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing <see cref="T:System.Data.DataSet" />.</para><para>In a client application, it is common to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle-tier component. In this scenario, the <see cref="M:System.Data.DataSet.GetChanges" /> method is first invoked. That method returns a second <see cref="T:System.Data.DataSet" /> optimized for validating and merging. This second <see cref="T:System.Data.DataSet" /> object contains only the <see cref="T:System.Data.DataTable" /> and <see cref="T:System.Data.DataRow" /> objects that were changed, resulting in a subset of the original <see cref="T:System.Data.DataSet" />. This subset is generally smaller, and thus more efficiently passed back to a middle-tier component. The middle-tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new <see cref="T:System.Data.DataSet" /> that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned <see cref="T:System.Data.DataSet" /> can be merged back into the client application's original <see cref="T:System.Data.DataSet" /> with the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method.</para><para>To facilitate explanation of the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method, we use "target" to signify the current <see cref="T:System.Data.DataSet" />, and "source" to name the second (parameter) <see cref="T:System.Data.DataSet" />. The target <see cref="T:System.Data.DataSet" /> is so named because it is the object upon which an action (the merge) occurs. The second <see cref="T:System.Data.DataSet" /> is called a "source" because the information it contains does not change, but instead is merged into the current <see cref="T:System.Data.DataSet" />.</para><para>When the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is called, the schemas of the two <see cref="T:System.Data.DataSet" /> objects are compared because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source <see cref="T:System.Data.DataSet" /> contains schema elements (added <see cref="T:System.Data.DataColumn" /> objects) that are missing in the target, the schema elements can be added to the target by setting the <paramref name="missingSchemaAction" /> argument to MissingSchemaAction.Add. In that case, the merged <see cref="T:System.Data.DataSet" /> contains the added schema and data.</para><para>After merging schemas, the data is merged.</para><para>When merging a new source <see cref="T:System.Data.DataSet" /> into the target, any source rows with a <see cref="T:System.Data.DataRowState" /> value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a DataRowState value of Added are matched to new target rows with the same primary key values as the new source rows.</para><para>During a merge, constraints are disabled. If any constraints cannot be enabled at the end of merge, a <see cref="T:System.Data.ConstraintException" /> is generated and the merged data is retained while the constraints are disabled. In this case, the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property is set to false, and all rows that are invalid are marked in error. The errors must be resolved before attempting to reset the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Merges an array of <see cref="T:System.Data.DataRow" /> objects into the current <see cref="T:System.Data.DataSet" />, preserving or discarding changes in the DataSet and handling an incompatible schema according to the given arguments.</para></summary><param name="rows"><attribution license="cc4" from="Microsoft" modified="false" />The array of <see cref="T:System.Data.DataRow" /> objects to be merged into the DataSet. </param><param name="preserveChanges"><attribution license="cc4" from="Microsoft" modified="false" />true to preserve changes in the DataSet; otherwise false. </param><param name="missingSchemaAction"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.MissingSchemaAction" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Merge"><MemberSignature Language="C#" Value="public void Merge (System.Data.DataSet dataSet, bool preserveChanges, System.Data.MissingSchemaAction missingSchemaAction);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="dataSet" Type="System.Data.DataSet" /><Parameter Name="preserveChanges" Type="System.Boolean" /><Parameter Name="missingSchemaAction" Type="System.Data.MissingSchemaAction" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is used to merge two <see cref="T:System.Data.DataSet" /> objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing <see cref="T:System.Data.DataSet" />. This allows the client application to have a refreshed <see cref="T:System.Data.DataSet" /> with the latest data from the data source.</para><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing <see cref="T:System.Data.DataSet" />.</para><para>In a client application, it is common to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle-tier component. In this scenario, the <see cref="M:System.Data.DataSet.GetChanges" /> method is first invoked. That method returns a second <see cref="T:System.Data.DataSet" /> optimized for validating and merging. This second <see cref="T:System.Data.DataSet" /> object contains only the <see cref="T:System.Data.DataTable" /> and <see cref="T:System.Data.DataRow" /> objects that were changed, resulting in a subset of the original <see cref="T:System.Data.DataSet" />. This subset is generally smaller, and thus more efficiently passed back to a middle-tier component. The middle-tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new <see cref="T:System.Data.DataSet" /> that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned <see cref="T:System.Data.DataSet" /> can be merged back into the client application's original <see cref="T:System.Data.DataSet" /> with the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method.</para><para>To facilitate explanation of the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method, we use "target" to signify the current <see cref="T:System.Data.DataSet" />, and "source" to name the second (parameter) <see cref="T:System.Data.DataSet" />. The target <see cref="T:System.Data.DataSet" /> is so named because it is the object upon which an action (the merge) occurs. The second <see cref="T:System.Data.DataSet" /> is called a "source" because the information it contains does not change, but instead is merged into the current <see cref="T:System.Data.DataSet" />.</para><para>When the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is called, the schemas of the two <see cref="T:System.Data.DataSet" /> objects are compared because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source <see cref="T:System.Data.DataSet" /> contains schema elements (added <see cref="T:System.Data.DataColumn" /> objects) that are missing in the target, the schema elements can be added to the target by setting the <paramref name="missingSchemaAction" /> argument to MissingSchemaAction.Add. In that case, the merged <see cref="T:System.Data.DataSet" /> contains the added schema and data.</para><para>After merging schemas, the data is merged.</para><para>When merging a new source <see cref="T:System.Data.DataSet" /> into the target, any source rows with a <see cref="T:System.Data.DataRowState" /> value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a DataRowState value of Added are matched to new target rows with the same primary key values as the new source rows.</para><para>During a merge, constraints are disabled. If any constraints cannot be enabled at the end of merge, a <see cref="T:System.Data.ConstraintException" /> is generated and the merged data is retained while the constraints are disabled. In this case, the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property is set to false, and all rows that are invalid are marked in error. The errors must be resolved before attempting to reset the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Merges a specified <see cref="T:System.Data.DataSet" /> and its schema with the current DataSet, preserving or discarding changes in the current DataSet and handling an incompatible schema according to the given arguments.</para></summary><param name="dataSet"><attribution license="cc4" from="Microsoft" modified="false" />The DataSet whose data and schema will be merged. </param><param name="preserveChanges"><attribution license="cc4" from="Microsoft" modified="false" />true to preserve changes in the current DataSet; otherwise false. </param><param name="missingSchemaAction"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.MissingSchemaAction" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Merge"><MemberSignature Language="C#" Value="public void Merge (System.Data.DataTable table, bool preserveChanges, System.Data.MissingSchemaAction missingSchemaAction);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="table" Type="System.Data.DataTable" /><Parameter Name="preserveChanges" Type="System.Boolean" /><Parameter Name="missingSchemaAction" Type="System.Data.MissingSchemaAction" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is used to merge two <see cref="T:System.Data.DataSet" /> objects that have largely similar schemas. A merge is typically used on a client application to incorporate the latest changes from a data source into an existing <see cref="T:System.Data.DataSet" />. This allows the client application to have a refreshed <see cref="T:System.Data.DataSet" /> with the latest data from the data source.</para><para>The <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is typically called at the end of a series of procedures that involve validating changes, reconciling errors, updating the data source with the changes, and finally refreshing the existing <see cref="T:System.Data.DataSet" />.</para><para>iOn a client application, it is common to have a single button that the user can click that gathers the changed data and validates it before sending it back to a middle-tier component. In this scenario, the <see cref="M:System.Data.DataSet.GetChanges" /> method is first invoked. That method returns a second <see cref="T:System.Data.DataSet" /> optimized for validating and merging. This second <see cref="T:System.Data.DataSet" /> object contains only the <see cref="T:System.Data.DataTable" /> and <see cref="T:System.Data.DataRow" /> objects that were changed, resulting in a subset of the original <see cref="T:System.Data.DataSet" />. This subset is generally smaller, and thus more efficiently passed back to a middle-tier component. The middle-tier component then updates the original data source with the changes through stored procedures. The middle tier can then send back either a new <see cref="T:System.Data.DataSet" /> that includes original data and the latest data from the data source (by running the original query again), or it can send back the subset with any changes that have been made to it from the data source. (For example, if the data source automatically creates unique primary key values, these values can be propagated back to the client application.) In either case, the returned <see cref="T:System.Data.DataSet" /> can be merged back into the client application's original <see cref="T:System.Data.DataSet" /> with the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method.</para><para>When the <see cref="M:System.Data.DataSet.Merge(System.Data.DataSet)" /> method is called, the schemas of the two <see cref="T:System.Data.DataSet" /> objects are compared because it is possible that the schemas may have been changed. For example, in a business-to-business scenario, new columns may have been added to an XML schema by an automated process. If the source <see cref="T:System.Data.DataSet" /> contains schema elements (added <see cref="T:System.Data.DataColumn" /> objects) that are missing in the target, the schema elements can be added to the target by setting the <paramref name="missingSchemaAction" /> argument to MissingSchemaAction.Add. In that case, the merged <see cref="T:System.Data.DataSet" /> contains the added schema and data.</para><para>After merging schemas, the data is merged.</para><para>When merging a new source <see cref="T:System.Data.DataSet" /> into the target, any source rows with a <see cref="T:System.Data.DataRowState" /> value of Unchanged, Modified, or Deleted are matched to target rows with the same primary key values. Source rows with a DataRowState value of Added are matched to new target rows with the same primary key values as the new source rows.</para><para>During a merge, constraints are disabled. If any constraints cannot be enabled at the end of merge, a <see cref="T:System.Data.ConstraintException" /> is generated and the merged data is retained while the constraints are disabled. In this case, the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property is set to false, and all rows that are invalid are marked in error. The errors must be resolved before attempting to reset the <see cref="P:System.Data.DataSet.EnforceConstraints" /> property to true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Merges a specified <see cref="T:System.Data.DataTable" /> and its schema into the current DataSet, preserving or discarding changes in the DataSet and handling an incompatible schema according to the given arguments.</para></summary><param name="table"><attribution license="cc4" from="Microsoft" modified="false" />The DataTable whose data and schema will be merged. </param><param name="preserveChanges"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.MissingSchemaAction" /> values. </param><param name="missingSchemaAction"><attribution license="cc4" from="Microsoft" modified="false" />true to preserve changes in the DataSet; otherwise false. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="MergeFailed"><MemberSignature Language="C#" Value="public event System.Data.MergeFailedEventHandler MergeFailed;" /><MemberType>Event</MemberType><ReturnValue><ReturnType>System.Data.MergeFailedEventHandler</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>For more information about handling events, see <format type="text/html"><a href="01E4F1BC-E55E-413F-98C7-6588493E5F67">[&lt;topic://cpconEventsOverview&gt;]</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Occurs when a target and source <see cref="T:System.Data.DataRow" /> have the same primary key value, and <see cref="P:System.Data.DataSet.EnforceConstraints" /> is set to true.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Namespace"><MemberSignature Language="C#" Value="public string Namespace { set; get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>The namespace of the DataSet.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Data.DataSet.Namespace" /> property is used when reading and writing an XML document into the <see cref="T:System.Data.DataSet" /> using the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" />, <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" />, <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" />, or <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods.</para><para>The namespace of an XML document is used to scope XML attributes and elements when read into a <see cref="T:System.Data.DataSet" />. For example, if a <see cref="T:System.Data.DataSet" /> contains a schema that was read from a document with the namespace "myCompany," and an attempt is made to read data only from a document with a different namespace, any data that does not correspond to the existing schema is ignored.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the namespace of the <see cref="T:System.Data.DataSet" />.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DefaultValue("")</AttributeName></Attribute></Attributes></Member><Member MemberName="OnPropertyChanging"><MemberSignature Language="C#" Value="protected virtual void OnPropertyChanging (System.ComponentModel.PropertyChangedEventArgs pcevent);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="pcevent" Type="System.ComponentModel.PropertyChangedEventArgs" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Raising an event invokes the event handler through a delegate. For an overview, see <format type="text/html"><a href="f2adaf01-1ed1-42e1-8c31-8d467e7e0ee2">Raising an Event</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Raises the <see cref="M:System.Data.DataSet.OnPropertyChanging(System.ComponentModel.PropertyChangedEventArgs)" /> event.</para></summary><param name="pcevent"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ComponentModel.PropertyChangedEventArgs" /> that contains the event data. </param></Docs></Member><Member MemberName="OnRemoveRelation"><MemberSignature Language="C#" Value="protected virtual void OnRemoveRelation (System.Data.DataRelation relation);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="relation" Type="System.Data.DataRelation" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method should be overridden by subclasses to restrict tables being removed </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Occurs when a <see cref="T:System.Data.DataRelation" /> object is removed from a <see cref="T:System.Data.DataTable" />.</para></summary><param name="relation"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Data.DataRelation" /> being removed. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="OnRemoveTable"><MemberSignature Language="C#" Value="protected virtual void OnRemoveTable (System.Data.DataTable table);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="table" Type="System.Data.DataTable" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method can be overridden by subclasses to restrict tables from being removed.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Occurs when a <see cref="T:System.Data.DataTable" /> is removed from a <see cref="T:System.Data.DataSet" />.</para></summary><param name="table"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Data.DataTable" /> being removed. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Prefix"><MemberSignature Language="C#" Value="public string Prefix { set; get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>The XML prefix for the DataSet namespace.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="P:System.Data.DataSet.Prefix" /> property is used throughout an XML document to identify elements which belong to the namespace of the <see cref="T:System.Data.DataSet" /> object (as set by the <see cref="P:System.Data.DataSet.Namespace" /> property).</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets an XML prefix that aliases the namespace of the <see cref="T:System.Data.DataSet" />.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DefaultValue("")</AttributeName></Attribute></Attributes></Member><Member MemberName="RaisePropertyChanging"><MemberSignature Language="C#" Value="protected void RaisePropertyChanging (string name);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="name" Type="System.String" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sends a notification that the specified <see cref="T:System.Data.DataSet" /> property is about to change.</para></summary><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />The name of the property that is about to change. </param></Docs></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (System.IO.Stream stream);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="stream" Type="System.IO.Stream" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema, as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.Stream" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Data.XmlReadMode" /> used to read the data.</para></returns><param name="stream"><attribution license="cc4" from="Microsoft" modified="false" />An object that derives from <see cref="T:System.IO.Stream" />. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (System.IO.TextReader reader);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.IO.TextReader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><para>Classes that inherit from the <see cref="T:System.IO.TextReader" /> class include the <see cref="T:System.IO.StreamReader" /> and <see cref="T:System.IO.StringReader" /> classes.</para><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.TextReader" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Data.XmlReadMode" /> used to read the data.</para></returns><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The TextReader from which to read the schema and data. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (string fileName);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="fileName" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes a targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified file.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The XmlReadMode used to read the data.</para></returns><param name="fileName"><attribution license="cc4" from="Microsoft" modified="false" />The filename (including the path) from which to read. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (System.Xml.XmlReader reader);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Xml.XmlReader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes a targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><para><see cref="T:System.Xml.XmlTextReader" /> inherits from <see cref="T:System.Xml.XmlReader" />.</para><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.Xml.XmlReader" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The XmlReadMode used to read the data.</para></returns><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.XmlReader" /> from which to read. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (System.IO.Stream stream, System.Data.XmlReadMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="stream" Type="System.IO.Stream" /><Parameter Name="mode" Type="System.Data.XmlReadMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>The same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>When you use <see cref="M:System.Data.DataSet.ReadXml(System.IO.Stream,System.Data.XmlReadMode)" /> and you set <see cref="T:System.Data.XmlReadMode" /> to Diffgram, the content of the target DataSet and the original DataSet may differ because of how the diffgram is generated and processed. For more information on diffgrams, see <format type="text/html"><a href="037f3991-7bbc-424b-b52e-8b03585d3e34">DiffGrams</a></format>.</para></block><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.Stream" /> and <see cref="T:System.Data.XmlReadMode" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The XmlReadMode used to read the data.</para></returns><param name="stream"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IO.Stream" /> from which to read. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlReadMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (System.IO.TextReader reader, System.Data.XmlReadMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.IO.TextReader" /><Parameter Name="mode" Type="System.Data.XmlReadMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.TextReader" /> and <see cref="T:System.Data.XmlReadMode" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The XmlReadMode used to read the data.</para></returns><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IO.TextReader" /> from which to read. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlReadMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (string fileName, System.Data.XmlReadMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="fileName" Type="System.String" /><Parameter Name="mode" Type="System.Data.XmlReadMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes a targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified file and <see cref="T:System.Data.XmlReadMode" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The XmlReadMode used to read the data.</para></returns><param name="fileName"><attribution license="cc4" from="Microsoft" modified="false" />The filename (including the path) from which to read. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlReadMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXml"><MemberSignature Language="C#" Value="public System.Data.XmlReadMode ReadXml (System.Xml.XmlReader reader, System.Data.XmlReadMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Data.XmlReadMode</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Xml.XmlReader" /><Parameter Name="mode" Type="System.Data.XmlReadMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method provides a way to read either data only, or both data and schema into a <see cref="T:System.Data.DataSet" /> from an XML document, whereas the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method reads only the schema. To read both data and schema, use one of the ReadXML overloads that includes the <paramref name="mode" /> parameter, and set its value to ReadSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> and <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> methods, respectively. To write XML data, or both schema and data from the DataSet, use the WriteXml method. To write just the schema, use the WriteXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block><para>If an in-line schema is specified, the in-line schema is used to extend the existing relational structure prior to loading the data. If there are any conflicts (for example, the same column in the same table defined with different data types) an exception is raised.</para><para>If no in-line schema is specified, the relational structure is extended through inference, as necessary, according to the structure of the XML document. If the schema cannot be extended through inference in order to expose all data, an exception is raised.</para><block subset="none" type="note"><para>The DataSet does not associate an XML element with its corresponding DataColumn or DataTable when legal XML characters like ("_") are escaped in the serialized XML. The DataSet itself only escapes illegal XML characters in XML element names and hence can only consume the same. When legal characters in XML element name are escaped, the element is ignored while processing.</para></block><para>If the XML Schema for a <see cref="T:System.Data.DataSet" /> includes a targetNamespace, data may not be read, and you may encounter exceptions when calling <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> to load the <see cref="T:System.Data.DataSet" /> with XML that contains elements with no qualifying namespace. To read unqualified elements, set elementFormDefault equal to "qualified" in your XML Schema as the following example demonstrates.</para><code> &lt;xsd:schema id="MyDataSet" 
    elementFormDefault="qualified" 
    targetNamespace="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns="http://www.tempuri.org/MyDataSet.xsd" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;
 &lt;/xsd:schema&gt;</code><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> by specifying XmlReadMode.ReadSchema. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads XML schema and data into the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.Xml.XmlReader" /> and <see cref="T:System.Data.XmlReadMode" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The XmlReadMode used to read the data.</para></returns><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.XmlReader" /> from which to read. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlReadMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXmlSchema"><MemberSignature Language="C#" Value="public void ReadXmlSchema (System.IO.Stream stream);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="stream" Type="System.IO.Stream" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method to create the schema for a <see cref="T:System.Data.DataSet" />. The schema includes table, relation, and constraint definitions. To write a schema to an XML document, use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method.</para><para>The XML schema is written using the XSD standard.</para><block subset="none" type="note"><para>Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.</para></block><para>The <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method is generally invoked before invoking the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method which is used to fill the <see cref="T:System.Data.DataSet" />.</para><para>Classes that derive from the <see cref="T:System.IO.Stream" /> class include <see cref="T:System.IO.BufferedStream" />, <see cref="T:System.IO.FileStream" />, <see cref="T:System.IO.MemoryStream" />, and <see cref="T:System.Net.Sockets.NetworkStream" />.</para><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is be thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" />. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads the XML schema from the specified <see cref="T:System.IO.Stream" /> into the <see cref="T:System.Data.DataSet" />.</para></summary><param name="stream"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IO.Stream" /> from which to read. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXmlSchema"><MemberSignature Language="C#" Value="public void ReadXmlSchema (System.IO.TextReader reader);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.IO.TextReader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method to create the schema for a <see cref="T:System.Data.DataSet" />. The schema includes table, relation, and constraint definitions. To write a schema to an XML document, use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method.</para><para>The XML schema is written using the XSD standard.</para><block subset="none" type="note"><para>Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.</para></block><para>The <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method is generally invoked before invoking the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method which is used to fill the <see cref="T:System.Data.DataSet" />.</para><para>Classes that inherit from the <see cref="T:System.IO.TextReader" /> class include the <see cref="T:System.IO.StreamReader" /> and <see cref="T:System.IO.StringReader" /> classes.</para><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is be thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" />. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads the XML schema from the specified <see cref="T:System.IO.TextReader" /> into the <see cref="T:System.Data.DataSet" />.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IO.TextReader" /> from which to read. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXmlSchema"><MemberSignature Language="C#" Value="public void ReadXmlSchema (string fileName);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="fileName" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method to create the schema for a <see cref="T:System.Data.DataSet" />. The schema includes table, relation, and constraint definitions. To write a schema to an XML document, use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method.</para><para>The XML schema is written using the XSD standard.</para><block subset="none" type="note"><para>Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.</para></block><para>The <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method is generally invoked before invoking the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method which is used to fill the <see cref="T:System.Data.DataSet" />.</para><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" />. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads the XML schema from the specified file into the <see cref="T:System.Data.DataSet" />.</para></summary><param name="fileName"><attribution license="cc4" from="Microsoft" modified="false" />The file name (including the path) from which to read. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXmlSchema"><MemberSignature Language="C#" Value="public void ReadXmlSchema (System.Xml.XmlReader reader);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Xml.XmlReader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method to create the schema for a <see cref="T:System.Data.DataSet" />. The schema includes table, relation, and constraint definitions.</para><para>The XML schema is written using the XSD standard.</para><block subset="none" type="note"><para>Data corruption can occur if the msdata:DataType and the xs:type types do not match. No exception will be thrown.</para></block><para>The <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> method is generally invoked before invoking the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> method which is used to fill the <see cref="T:System.Data.DataSet" />.</para><para>The <see cref="T:System.Xml.XmlReader" /> class is abstract. A class that inherits from the XmlReader is the <see cref="T:System.Xml.XmlTextReader" /> class.</para><block subset="none" type="note"><para>If the schema for your <see cref="T:System.Data.DataSet" /> contains elements of the same name, but different type, in the same namespace, an exception is be thrown when you attempt to read the schema into the <see cref="T:System.Data.DataSet" /> with <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" />. This exception does not occur if you are using .NET Framework version 1.0.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Reads the XML schema from the specified <see cref="T:System.Xml.XmlReader" /> into the <see cref="T:System.Data.DataSet" />.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.XmlReader" /> from which to read. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ReadXmlSerializable"><MemberSignature Language="C#" Value="protected virtual void ReadXmlSerializable (System.Xml.XmlReader reader);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Xml.XmlReader" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Ignores attributes and returns an empty DataSet.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />The specified XML reader. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="RejectChanges"><MemberSignature Language="C#" Value="public virtual void RejectChanges ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Invoke the <see cref="M:System.Data.DataSet.RejectChanges" /> to call the <see cref="M:System.Data.DataTable.RejectChanges" /> method on all <see cref="T:System.Data.DataTable" /> objects contained by the <see cref="T:System.Data.DataSet" />.</para><para><see cref="T:System.Data.DataRow" /> objects contained by the <see cref="T:System.Data.DataSet" /> can each be set into edit mode by invoking the <see cref="M:System.Data.DataRow.BeginEdit" /> method. After invoking the <see cref="M:System.Data.DataRow.EndEdit" /> method, changes can be rejected by calling the <see cref="M:System.Data.DataTable.RejectChanges" /> on the <see cref="T:System.Data.DataTable" /> to which the <see cref="T:System.Data.DataRow" /> objects belong.</para><para>When the <see cref="M:System.Data.DataTable.RejectChanges" /> method is called, any rows still in edit-mode cancel their edits. New rows are removed. Modified and deleted rows return back to their original state (DataRowState.Unchanged).</para><para>AcceptChanges and RejectChanges only apply to <see cref="T:System.Data.DataRow" /> related changes (that is, Add, Remove, Delete, and Modify). They are not applicable to schema or structural changes.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Rolls back all the changes made to the <see cref="T:System.Data.DataSet" /> since it was created, or since the last time <see cref="M:System.Data.DataSet.AcceptChanges" /> was called.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Relations"><MemberSignature Language="C#" Value="public System.Data.DataRelationCollection Relations { get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Data.DataRelationCollection</ReturnType></ReturnValue><Docs><value>A <see cref="T:System.Data.DataRelationCollection" /> that contains a collection of <see cref="T:System.Data.DataRelation" /> objects, a null value if no DataRelation objects exist.</value><remarks /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Get the collection of relations that link tables and allow navigation from parent tables to child tables.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)</AttributeName></Attribute></Attributes></Member><Member MemberName="RemotingFormat"><MemberSignature Language="C#" Value="public System.Data.SerializationFormat RemotingFormat { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DefaultValue(System.Data.SerializationFormat.Xml)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Data.SerializationFormat</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets a <see cref="T:System.Data.SerializationFormat" /> for the <see cref="T:System.Data.DataSet" /> used during remoting.</para></summary></Docs></Member><Member MemberName="Reset"><MemberSignature Language="C#" Value="public virtual void Reset ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks>Resets the object to its original state, that is, removes all the constraints, clears all the tables and deletes all the relations.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Clears all tables and removes all relations, foreign constraints, and tables from the <see cref="T:System.Data.DataSet" />. Subclasses should override <see cref="M:System.Data.DataSet.Reset" /> to restore a <see cref="T:System.Data.DataSet" /> to its original state.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SchemaSerializationMode"><MemberSignature Language="C#" Value="public virtual System.Data.SchemaSerializationMode SchemaSerializationMode { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.Browsable(false)</AttributeName></Attribute><Attribute><AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Data.SchemaSerializationMode</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.Data.DataSet" /> serializes its schema and instance data by default in Web services and remoting scenarios. Setting the <see cref="P:System.Data.DataSet.SchemaSerializationMode" /> property of a typed DataSet to <see cref="F:System.Data.SchemaSerializationMode.ExcludeSchema" /> causes schema information to be excluded from the serialization payload. </para><para><see cref="F:System.Data.SchemaSerializationMode.ExcludeSchema" /> is supported only for a typed DataSet. For an un-typed DataSet this property can only be set to <see cref="F:System.Data.SchemaSerializationMode.IncludeSchema" />. </para><para><see cref="F:System.Data.SchemaSerializationMode.ExcludeSchema" /> should only be used in cases where the schema information of the underlying typed DataTables, DataRelations and Constraints has not been modified. If modifications have occurred, complete schema information should be serialized with <see cref="F:System.Data.SchemaSerializationMode.IncludeSchema" />.</para><para><see cref="F:System.Data.SchemaSerializationMode.ExcludeSchema" /> is supported in version 2.0 of the .NET Framework or later.</para><para>When <see cref="F:System.Data.SchemaSerializationMode.ExcludeSchema" /> is set, only the top level runtime properties present on the <see cref="T:System.Data.DataSet" /> are serialized. In addition, they are serialized only if they happen to be different from the default values. None of the Tables, Relations or Constraints are serialized. The serialized runtime properties include <see cref="P:System.Data.DataSet.DataSetName" />, <see cref="P:System.Data.DataSet.Namespace" />, <see cref="P:System.Data.DataSet.Prefix" />, <see cref="P:System.Data.DataSet.Locale" />, <see cref="P:System.Data.DataSet.EnforceConstraints" />, and <see cref="P:System.Data.DataSet.CaseSensitive" />. These properties are serialized to make sure that overall runtime data integrity is preserved.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets a <see cref="T:System.Data.SchemaSerializationMode" /> for a <see cref="T:System.Data.DataSet" />.</para></summary></Docs></Member><Member MemberName="ShouldSerializeRelations"><MemberSignature Language="C#" Value="protected virtual bool ShouldSerializeRelations ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>You typically use this method if you are either creating a designer for the <see cref="T:System.Data.DataSet" />, or creating your own control incorporating the <see cref="T:System.Data.DataSet" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether <see cref="P:System.Data.DataSet.Relations" /> property should be persisted.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the property value has been changed from its default; otherwise false.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="ShouldSerializeTables"><MemberSignature Language="C#" Value="protected virtual bool ShouldSerializeTables ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>You typically use this method only if you are either creating a designer for the <see cref="T:System.Data.DataSet" />, or creating your own control incorporating the <see cref="T:System.Data.DataSet" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether <see cref="P:System.Data.DataSet.Tables" /> property should be persisted.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the property value has been changed from its default; otherwise false.</para></returns></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Site"><MemberSignature Language="C#" Value="public override System.ComponentModel.ISite Site { set; get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.ComponentModel.ISite</ReturnType></ReturnValue><Parameters></Parameters><Docs><value>An <see cref="T:System.ComponentModel.ISite" /> for the DataSet.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Sites bind a <see cref="T:System.ComponentModel.Component" /> to a <see cref="T:System.ComponentModel.Container" /> and enable communication between them, as well as provide a way for the container to manage its components.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets an <see cref="T:System.ComponentModel.ISite" /> for the <see cref="T:System.Data.DataSet" />.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName></Attribute><Attribute><AttributeName>System.ComponentModel.Browsable(false)</AttributeName></Attribute></Attributes></Member><Member MemberName="System.ComponentModel.IListSource.ContainsListCollection"><MemberSignature Language="C#" Value="bool System.ComponentModel.IListSource.ContainsListCollection { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Data.DataSet" /> instance is cast to an <see cref="T:System.ComponentModel.IListSource" /> interface.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="P:System.ComponentModel.IListSource.ContainsListCollection" />.</para></summary></Docs></Member><Member MemberName="System.ComponentModel.IListSource.GetList"><MemberSignature Language="C#" Value="System.Collections.IList IListSource.GetList ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.IList</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Data.DataSet" /> instance is cast to an <see cref="T:System.ComponentModel.IListSource" /> interface.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.ComponentModel.IListSource.GetList" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.ComponentModel.IListSource.GetList" />.</para></returns></Docs></Member><Member MemberName="System.Runtime.Serialization.ISerializable.GetObjectData"><MemberSignature Language="C#" Value="void ISerializable.GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Populates a serialization information object with the data needed to serialize the <see cref="T:System.Data.DataSet" />.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The destination (see <see cref="T:System.Runtime.Serialization.StreamingContext" />) for this serialization. </param></Docs></Member><Member MemberName="System.Xml.Serialization.IXmlSerializable.GetSchema"><MemberSignature Language="C#" Value="System.Xml.Schema.XmlSchema IXmlSerializable.GetSchema ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Xml.Schema.XmlSchema</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Data.DataSet" /> instance is cast to an <see cref="T:System.Xml.Serialization.IXmlSerializable" /> interface.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.Xml.Serialization.IXmlSerializable.GetSchema" />.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.Xml.Serialization.IXmlSerializable.GetSchema" />.</para></returns></Docs></Member><Member MemberName="System.Xml.Serialization.IXmlSerializable.ReadXml"><MemberSignature Language="C#" Value="void IXmlSerializable.ReadXml (System.Xml.XmlReader reader);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="reader" Type="System.Xml.XmlReader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Data.DataSet" /> instance is cast to an <see cref="T:System.Xml.Serialization.IXmlSerializable" /> interface.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.Xml.Serialization.IXmlSerializable.ReadXml(System.Xml.XmlReader)" />.</para></summary><param name="reader"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Xml.XmlReader" />.</param></Docs></Member><Member MemberName="System.Xml.Serialization.IXmlSerializable.WriteXml"><MemberSignature Language="C#" Value="void IXmlSerializable.WriteXml (System.Xml.XmlWriter writer);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="writer" Type="System.Xml.XmlWriter" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This member is an explicit interface member implementation. It can be used only when the <see cref="T:System.Data.DataSet" /> instance is cast to an <see cref="T:System.Xml.Serialization.IXmlSerializable" /> interface.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>For a description of this member, see <see cref="M:System.Xml.Serialization.IXmlSerializable.WriteXml(System.Xml.XmlWriter)" />.</para></summary><param name="writer"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Xml.XmlWriter" />.</param></Docs></Member><Member MemberName="Tables"><MemberSignature Language="C#" Value="public System.Data.DataTableCollection Tables { get; }" /><MemberType>Property</MemberType><ReturnValue><ReturnType>System.Data.DataTableCollection</ReturnType></ReturnValue><Docs><value>The <see cref="T:System.Data.DataTableCollection" /> contained by this DataSet; otherwise a <see langword="null" /> value if no <see cref="T:System.Data.DataTable" /> objects exist.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>To add tables to the collection, use <see cref="M:System.Data.DataTableCollection.Add(System.Data.DataTable)" /> method of the <see cref="T:System.Data.DataTableCollection" />. To remove tables, use the <see cref="M:System.Data.DataTableCollection.Remove(System.Data.DataTable)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the collection of tables contained in the <see cref="T:System.Data.DataSet" />.</para></summary></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)</AttributeName></Attribute></Attributes></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (System.IO.Stream stream);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="stream" Type="System.IO.Stream" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, use one of the overloads that includes the <paramref name="mode" /> parameter, and set its value to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data for the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.Stream" />.</para></summary><param name="stream"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.IO.Stream" /> object used to write to a file. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (System.IO.TextWriter writer);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="writer" Type="System.IO.TextWriter" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, use one of the overloads that includes the <paramref name="mode" /> parameter, and set its value to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data for the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.TextWriter" />.</para></summary><param name="writer"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IO.TextWriter" /> object with which to write. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (string fileName);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="fileName" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, use one of the overloads that includes the <paramref name="mode" /> parameter, and set its value to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data for the <see cref="T:System.Data.DataSet" /> to the specified file.</para></summary><param name="fileName"><attribution license="cc4" from="Microsoft" modified="false" />The file name (including the path) to which to write. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (System.Xml.XmlWriter writer);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="writer" Type="System.Xml.XmlWriter" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, use one of the overloads that includes the <paramref name="mode" /> parameter, and set its value to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data for the <see cref="T:System.Data.DataSet" /> to the specified <see cref="T:System.Xml.XmlWriter" />.</para></summary><param name="writer"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.XmlWriter" /> with which to write. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="stream" Type="System.IO.Stream" /><Parameter Name="mode" Type="System.Data.XmlWriteMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, set the <paramref name="mode" /> parameter to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data, and optionally the schema, for the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.Stream" /> and <see cref="T:System.Data.XmlWriteMode" />. To write the schema, set the value for the <paramref name="mode" /> parameter to WriteSchema.</para></summary><param name="stream"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.IO.Stream" /> object used to write to a file. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlWriteMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="writer" Type="System.IO.TextWriter" /><Parameter Name="mode" Type="System.Data.XmlWriteMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, set the <paramref name="mode" /> parameter to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data, and optionally the schema, for the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.IO.TextWriter" /> and <see cref="T:System.Data.XmlWriteMode" />. To write the schema, set the value for the <paramref name="mode" /> parameter to WriteSchema.</para></summary><param name="writer"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.IO.TextWriter" /> object used to write the document. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlWriteMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (string fileName, System.Data.XmlWriteMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="fileName" Type="System.String" /><Parameter Name="mode" Type="System.Data.XmlWriteMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, set the <paramref name="mode" /> parameter to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data, and optionally the schema, for the <see cref="T:System.Data.DataSet" /> to the specified file using the specified <see cref="T:System.Data.XmlWriteMode" />. To write the schema, set the value for the <paramref name="mode" /> parameter to WriteSchema.</para></summary><param name="fileName"><attribution license="cc4" from="Microsoft" modified="false" />The file name (including the path) to which to write. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlWriteMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXml"><MemberSignature Language="C#" Value="public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="writer" Type="System.Xml.XmlWriter" /><Parameter Name="mode" Type="System.Data.XmlWriteMode" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The WriteXml method provides a way to write either data only, or both data and schema from a <see cref="T:System.Data.DataSet" /> into an XML document, whereas the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method writes only the schema. To write both data and schema, set the <paramref name="mode" /> parameter to WriteSchema.</para><para>Note that the same is true for the <see cref="M:System.Data.DataSet.ReadXml(System.Xml.XmlReader)" /> and <see cref="M:System.Data.DataSet.ReadXmlSchema(System.Xml.XmlReader)" /> methods, respectively. To read XML data, or both schema and data into the DataSet, use the ReadXml method. To read just the schema, use the ReadXmlSchema method.</para><block subset="none" type="note"><para>An <see cref="T:System.InvalidOperationException" /> will be thrown if a column type in the DataRow being read from or written to implements <see cref="T:System.Dynamic.IDynamicMetaObjectProvider" /> and does not implement <see cref="T:System.Xml.Serialization.IXmlSerializable" />.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the current data, and optionally the schema, for the <see cref="T:System.Data.DataSet" /> using the specified <see cref="T:System.Xml.XmlWriter" /> and <see cref="T:System.Data.XmlWriteMode" />. To write the schema, set the value for the <paramref name="mode" /> parameter to WriteSchema.</para></summary><param name="writer"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.XmlWriter" /> with which to write. </param><param name="mode"><attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.Data.XmlWriteMode" /> values. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXmlSchema"><MemberSignature Language="C#" Value="public void WriteXmlSchema (System.IO.Stream stream);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="stream" Type="System.IO.Stream" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method to write the schema for a <see cref="T:System.Data.DataSet" /> to an XML document. The schema includes table, relation, and constraint definitions. To write a schema to an XML document, use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method.</para><para>The XML schema is written using the XSD standard.</para><para>To write the data to an XML document, use the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> method.</para><para>Classes that derive from the <see cref="T:System.IO.Stream" /> class include <see cref="T:System.IO.BufferedStream" />, <see cref="T:System.IO.FileStream" />, <see cref="T:System.IO.MemoryStream" />, and <see cref="T:System.Net.Sockets.NetworkStream" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the <see cref="T:System.Data.DataSet" /> structure as an XML schema to the specified <see cref="T:System.IO.Stream" /> object.</para></summary><param name="stream"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.IO.Stream" /> object used to write to a file. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXmlSchema"><MemberSignature Language="C#" Value="public void WriteXmlSchema (System.IO.TextWriter writer);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="writer" Type="System.IO.TextWriter" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method to write the schema for a <see cref="T:System.Data.DataSet" /> to an XML document. The schema includes table, relation, and constraint definitions. To write a schema to an XML document, use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method.</para><para>The XML schema is written using the XSD standard.</para><para>To write the data to an XML document, use the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> method.</para><para>Classes the derive from the <see cref="T:System.IO.TextWriter" /> class include the <see cref="T:System.Web.HttpWriter" />, <see cref="T:System.CodeDOM.Compiler.IndentedTextWriter" />, <see cref="T:System.Web.UI.HtmlTextWriter" />, <see cref="T:System.IO.StreamWriter" />, and <see cref="T:System.IO.StringWriter" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the <see cref="T:System.Data.DataSet" /> structure as an XML schema to the specified <see cref="T:System.IO.TextWriter" /> object.</para></summary><param name="writer"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IO.TextWriter" /> object with which to write. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXmlSchema"><MemberSignature Language="C#" Value="public void WriteXmlSchema (string fileName);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="fileName" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method to write the schema for a <see cref="T:System.Data.DataSet" /> to an XML document. The schema includes table, relation, and constraint definitions. To write a schema to an XML document, use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method.</para><para>The XML schema is written using the XSD standard.</para><para>To write the data to an XML document, use the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the <see cref="T:System.Data.DataSet" /> structure as an XML schema to a file.</para></summary><param name="fileName"><attribution license="cc4" from="Microsoft" modified="false" />The file name (including the path) to which to write. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="WriteXmlSchema"><MemberSignature Language="C#" Value="public void WriteXmlSchema (System.Xml.XmlWriter writer);" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="writer" Type="System.Xml.XmlWriter" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method to write the schema for a <see cref="T:System.Data.DataSet" /> to an XML document. The schema includes table, relation, and constraint definitions. To write a schema to an XML document, use the <see cref="M:System.Data.DataSet.WriteXmlSchema(System.IO.Stream)" /> method.</para><para>The XML schema is written using the XSD standard.</para><para>To write the data to an XML document, use the <see cref="M:System.Data.DataSet.WriteXml(System.IO.Stream)" /> method.</para><para>One class that inherits from the <see cref="T:System.Xml.XmlWriter" /> class is the <see cref="T:System.Xml.XmlTextWriter" /> class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Writes the <see cref="T:System.Data.DataSet" /> structure as an XML schema to an <see cref="T:System.Xml.XmlWriter" /> object.</para></summary><param name="writer"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Xml.XmlWriter" /> to write to. </param></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member></Members></Type>