# C1.LiveLinq.LiveViews.ViewMaintenanceMode

## Content

<div class="doc-site-dotnet-api-container">




  <h1 id="C1_LiveLinq_LiveViews_ViewMaintenanceMode" data-uid="C1.LiveLinq.LiveViews.ViewMaintenanceMode" class="text-break">ViewMaintenanceMode Enum
</h1>
  <div class="markdown level0 summary"><p>Specifies how a view is synchronized with changes in its base data.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.LiveLinq.LiveViews.html">C1.LiveLinq.LiveViews</a></h6>
  <h6><strong>Assembly</strong>: C1.LiveLinq.4.8.dll</h6>
  <h5 id="C1_LiveLinq_LiveViews_ViewMaintenanceMode_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public enum ViewMaintenanceMode</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Enum ViewMaintenanceMode</code></pre>
  </div>
  <h5 id="C1_LiveLinq_LiveViews_ViewMaintenanceMode_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p><b>See Also:</b> <span style="C1H Jump">View Maintenance Mode</span>.</p>
</div>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    <thead>
    </thead></thead><tbody>
      <tr>
        <td id="C1_LiveLinq_LiveViews_ViewMaintenanceMode_Default">Default</td>
        <td><p>By default, the view is in a "smart mode": It is in <b>Deferred</b> mode if nobody is interested in its data,
and it is synchronized and goes to <b>Immediate</b> mode if there is a client interested in receiving
notifications of changes in that view's data.</p>
<p>In other words, a view in <b>Default</b> mode is effectively in <b>Deferred</b> mode if no listeners registered to
be notified of its changes, and it is effectively in <b>Immediate</b> mode if there are such listeners
(for example, if there is GUI control bound to it).</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_LiveViews_ViewMaintenanceMode_Deferred">Deferred</td>
        <td><p>When a change in base data occur, the view is not synchronized with it immediately. It is allowed to go stale,
out of sync with its base data as long as there are no requests for this view's data.
The view is synchronized on demand, that is, it is synchronized when any request for its data arrives.</p>
</td>
      </tr>
      <tr>
        <td id="C1_LiveLinq_LiveViews_ViewMaintenanceMode_Immediate">Immediate</td>
        <td><p>The view is synchronized with its base data automatically and immediately after any change in its base data occurs.
The view is kept synchronized with its base data at all times.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="C1_LiveLinq_LiveViews_ViewMaintenanceMode_seealso">See Also</h5>
  <div class="seealso">
      <div><a class="xref" href="C1.LiveLinq.LiveViews.View.MaintenanceMode.html#C1_LiveLinq_LiveViews_View_MaintenanceMode">MaintenanceMode</a></div>
      <div><a class="xref" href="C1.LiveLinq.LiveViews.View.DeferredMaintenance.html#C1_LiveLinq_LiveViews_View_DeferredMaintenance">DeferredMaintenance</a></div>
  </div>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <a class="xref" href="C1.LiveLinq.Hints.Indexed.html#C1_LiveLinq_Hints_Indexed__1___0_">Hints.Indexed&lt;ViewMaintenanceMode&gt;(ViewMaintenanceMode)</a>
  </div>
  <div>
      <a class="xref" href="C1.LiveLinq.Hints.Indexed.html#C1_LiveLinq_Hints_Indexed__1___0_C1_LiveLinq_IndexingHintAction_">Hints.Indexed&lt;ViewMaintenanceMode&gt;(ViewMaintenanceMode, IndexingHintAction)</a>
  </div>
</div>
