# C1.LiveLinq.LiveViews.Xml.XmlExtensions.BeginUpdate

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_LiveLinq_LiveViews_Xml_XmlExtensions_BeginUpdate_" data-uid="C1.LiveLinq.LiveViews.Xml.XmlExtensions.BeginUpdate*">BeginUpdate Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_LiveLinq_LiveViews_Xml_XmlExtensions_BeginUpdate_" data-uid="C1.LiveLinq.LiveViews.Xml.XmlExtensions.BeginUpdate*"></a>
<h4 id="C1_LiveLinq_LiveViews_Xml_XmlExtensions_BeginUpdate_System_Xml_Linq_XContainer_" data-uid="C1.LiveLinq.LiveViews.Xml.XmlExtensions.BeginUpdate(System.Xml.Linq.XContainer)">BeginUpdate(XContainer)</h4>
<div class="markdown level1 summary"><p>Suspends notifications while massive changes are being made to an XML node and its descendants.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public static void BeginUpdate(this XContainer node)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Shared Sub BeginUpdate(node As XContainer)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xcontainer">XContainer</a></td>
      <td><span class="parametername">node</span></td>
      <td><p>The node that is the root of a tree where massive changes are made in code.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 id="C1_LiveLinq_LiveViews_Xml_XmlExtensions_BeginUpdate_System_Xml_Linq_XContainer__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method must be followed by <a class="xref" href="C1.LiveLinq.LiveViews.Xml.XmlExtensions.EndUpdate.html#C1_LiveLinq_LiveViews_Xml_XmlExtensions_EndUpdate_System_Xml_Linq_XContainer_">EndUpdate(XContainer)</a>.</p>
<p>Use this method when you already have indexes over this XML or live views based on it,
and you need to perform massive changes on the contents of this node and its descendants.
Without this method, every single change you make causes LiveLinq to perform necessary operations
for maintaining your indexes and live views dependent on this node and its descendants. In case of massive changes,
this can be slower than to wait until the massive changes are done and rebuild the indexes and live views.</p>
<p> Between <b>BeginUpdate</b> and <a class="xref" href="C1.LiveLinq.LiveViews.Xml.XmlExtensions.EndUpdate.html#C1_LiveLinq_LiveViews_Xml_XmlExtensions_EndUpdate_System_Xml_Linq_XContainer_">EndUpdate(XContainer)</a> calls, indexes, live views, bound controls
and other change notification listeners are not updated, they don't receive change notifications.
When <a class="xref" href="C1.LiveLinq.LiveViews.Xml.XmlExtensions.EndUpdate.html#C1_LiveLinq_LiveViews_Xml_XmlExtensions_EndUpdate_System_Xml_Linq_XContainer_">EndUpdate(XContainer)</a> is called, a <a class="xref" href="C1.LiveLinq.SourceChangeType.html">SourceChangeType.Reset</a>
notification is sent, meaning all indexes, live views and other collections dependent on this node and its descendants
must be rebuilt from scratch.</p>
</div>
</div>
