# C1.LiveLinq.LiveViews.View.Maintain

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_LiveLinq_LiveViews_View_Maintain_" data-uid="C1.LiveLinq.LiveViews.View.Maintain*">Maintain Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_LiveLinq_LiveViews_View_Maintain_" data-uid="C1.LiveLinq.LiveViews.View.Maintain*"></a>
<h4 id="C1_LiveLinq_LiveViews_View_Maintain" data-uid="C1.LiveLinq.LiveViews.View.Maintain">Maintain()</h4>
<div class="markdown level1 summary"><p>Brings the view up to date with its source data.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public virtual void Maintain()</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Overridable Sub Maintain()</code></pre>
</div>
<h5 id="C1_LiveLinq_LiveViews_View_Maintain_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>If source data have not changed since the last 
time the view was maintained (updated), this method does nothing. It also does nothing if the view's
<a class="xref" href="C1.LiveLinq.LiveViews.View.MaintenanceMode.html#C1_LiveLinq_LiveViews_View_MaintenanceMode">MaintenanceMode</a> is <b>Immediate</b>, because in that case the view is guaranteed to be
in synch with its base data at all times. If the view is in deferred mode (its <a class="xref" href="C1.LiveLinq.LiveViews.View.MaintenanceMode.html#C1_LiveLinq_LiveViews_View_MaintenanceMode">MaintenanceMode</a> property
returns <b>true</b>), the programmer can use the <b>Maintain</b> method to force updating the view.</p>
<p>Note that it is not necessary to call <b>Maintain</b> to make sure you get updated data from the view.
The view is automatically updated every time you request data from it, if base data changed since the last request,
regardless of the view's <a class="xref" href="C1.LiveLinq.LiveViews.View.MaintenanceMode.html#C1_LiveLinq_LiveViews_View_MaintenanceMode">MaintenanceMode</a>.</p>
<p>LiveLinq maintains views using optimized incremental algorithms, not simply re-populates them from scratch.
It calculating the delta in the view from the delta in the base data. In most cases, it allows to propagate 
the change from base data to the view very fast.</p>
</div>
</div>
