# C1.DataEngine.Workspace

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_DataEngine_Workspace" data-uid="C1.DataEngine.Workspace" class="text-break">Workspace Class
</h1>
  <div class="markdown level0 summary"><p>Provides access to the ComponentOne DataEngine.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">Workspace</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.DataEngine.html">C1.DataEngine</a></h6>
  <h6><strong>Assembly</strong>: C1.DataEngine.dll</h6>
  <h5 id="C1_DataEngine_Workspace_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[DataContract]
public sealed class Workspace : IDisposable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;DataContract&gt;
Public NotInheritable Class Workspace
    Implements IDisposable</code></pre>
  </div>
  <h5 id="C1_DataEngine_Workspace_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>If several workspaces are used in an application, they are isolated from each other.</p>
</div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataEngine_Workspace__ctor" data-uid="C1.DataEngine.Workspace.#ctor">
          <a class="xref" href="C1.DataEngine.Workspace.-ctor.html#C1_DataEngine_Workspace__ctor">Workspace()</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.DataEngine.Workspace.html">Workspace</a> class</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataEngine_Workspace_AutoSave" data-uid="C1.DataEngine.Workspace.AutoSave">
          <a class="xref" href="C1.DataEngine.Workspace.AutoSave.html#C1_DataEngine_Workspace_AutoSave">AutoSave</a>
        </td>
        <td class="markdown level1 summary"><p>Enables/disables automatic saving metadata to disk on every metadata change. Default: metadata autosave enabled.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_FiscalYearFirstMonth" data-uid="C1.DataEngine.Workspace.FiscalYearFirstMonth">
          <a class="xref" href="C1.DataEngine.Workspace.FiscalYearFirstMonth.html#C1_DataEngine_Workspace_FiscalYearFirstMonth">FiscalYearFirstMonth</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the number of the first month for the fiscal year.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_KeepFiles" data-uid="C1.DataEngine.Workspace.KeepFiles">
          <a class="xref" href="C1.DataEngine.Workspace.KeepFiles.html#C1_DataEngine_Workspace_KeepFiles">KeepFiles</a>
        </td>
        <td class="markdown level1 summary"><p>Automatic disk cleanup strategy.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_Path" data-uid="C1.DataEngine.Workspace.Path">
          <a class="xref" href="C1.DataEngine.Workspace.Path.html#C1_DataEngine_Workspace_Path">Path</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the workspace folder path.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_ReuseJoins" data-uid="C1.DataEngine.Workspace.ReuseJoins">
          <a class="xref" href="C1.DataEngine.Workspace.ReuseJoins.html#C1_DataEngine_Workspace_ReuseJoins">ReuseJoins</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether join queries with the same base fields are reused when another similar join is created. Default: true.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataEngine_Workspace_BeginUpdate" data-uid="C1.DataEngine.Workspace.BeginUpdate">
          <a class="xref" href="C1.DataEngine.Workspace.BeginUpdate.html#C1_DataEngine_Workspace_BeginUpdate">BeginUpdate()</a>
        </td>
        <td class="markdown level1 summary"><p>Indicates that multiple batches of data are being added to one or more tables, so that data consumers can suspend their update until all data changed are complete.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_Clear_C1_DataEngine_ClearFileType_" data-uid="C1.DataEngine.Workspace.Clear(C1.DataEngine.ClearFileType)">
          <a class="xref" href="C1.DataEngine.Workspace.Clear.html#C1_DataEngine_Workspace_Clear_C1_DataEngine_ClearFileType_">Clear(ClearFileType)</a>
        </td>
        <td class="markdown level1 summary"><p>Deletes data files from disk.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_Clear_System_String_C1_DataEngine_ClearFileType_" data-uid="C1.DataEngine.Workspace.Clear(System.String,C1.DataEngine.ClearFileType)">
          <a class="xref" href="C1.DataEngine.Workspace.Clear.html#C1_DataEngine_Workspace_Clear_System_String_C1_DataEngine_ClearFileType_">Clear(string, ClearFileType)</a>
        </td>
        <td class="markdown level1 summary"><p>Deletes data files of a table from disk.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_Dispose" data-uid="C1.DataEngine.Workspace.Dispose">
          <a class="xref" href="C1.DataEngine.Workspace.Dispose.html#C1_DataEngine_Workspace_Dispose">Dispose()</a>
        </td>
        <td class="markdown level1 summary"><p>Clean up any resources being used.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_EndUpdate" data-uid="C1.DataEngine.Workspace.EndUpdate">
          <a class="xref" href="C1.DataEngine.Workspace.EndUpdate.html#C1_DataEngine_Workspace_EndUpdate">EndUpdate()</a>
        </td>
        <td class="markdown level1 summary"><p>Indicates that multiple batches of data changes have been completed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_GetQueryData_System_String_System_Int32_" data-uid="C1.DataEngine.Workspace.GetQueryData(System.String,System.Int32)">
          <a class="xref" href="C1.DataEngine.Workspace.GetQueryData.html#C1_DataEngine_Workspace_GetQueryData_System_String_System_Int32_">GetQueryData(string, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets size and enumerator for all data rows in a query.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_GetTableData_System_String_System_Int32_" data-uid="C1.DataEngine.Workspace.GetTableData(System.String,System.Int32)">
          <a class="xref" href="C1.DataEngine.Workspace.GetTableData.html#C1_DataEngine_Workspace_GetTableData_System_String_System_Int32_">GetTableData(string, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets size and enumerator for all data rows in a table.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_GetTableNames" data-uid="C1.DataEngine.Workspace.GetTableNames">
          <a class="xref" href="C1.DataEngine.Workspace.GetTableNames.html#C1_DataEngine_Workspace_GetTableNames">GetTableNames()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the names of base tables in a workspace.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_Init_System_String_" data-uid="C1.DataEngine.Workspace.Init(System.String)">
          <a class="xref" href="C1.DataEngine.Workspace.Init.html#C1_DataEngine_Workspace_Init_System_String_">Init(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes ComponentOne DataEngine.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_QueryExists_System_String_" data-uid="C1.DataEngine.Workspace.QueryExists(System.String)">
          <a class="xref" href="C1.DataEngine.Workspace.QueryExists.html#C1_DataEngine_Workspace_QueryExists_System_String_">QueryExists(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified query exists in the workspace.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_Save" data-uid="C1.DataEngine.Workspace.Save">
          <a class="xref" href="C1.DataEngine.Workspace.Save.html#C1_DataEngine_Workspace_Save">Save()</a>
        </td>
        <td class="markdown level1 summary"><p>Saves workspace metadata to disk.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_TableExists_System_String_" data-uid="C1.DataEngine.Workspace.TableExists(System.String)">
          <a class="xref" href="C1.DataEngine.Workspace.TableExists.html#C1_DataEngine_Workspace_TableExists_System_String_">TableExists(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified base table exists in the workspace.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_join_System_Dynamic_ExpandoObject_System_Object_" data-uid="C1.DataEngine.Workspace.join(System.Dynamic.ExpandoObject,System.Object)">
          <a class="xref" href="C1.DataEngine.Workspace.join.html#C1_DataEngine_Workspace_join_System_Dynamic_ExpandoObject_System_Object_">join(ExpandoObject, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a join query.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_join_System_String_System_Dynamic_ExpandoObject_System_Object_" data-uid="C1.DataEngine.Workspace.join(System.String,System.Dynamic.ExpandoObject,System.Object)">
          <a class="xref" href="C1.DataEngine.Workspace.join.html#C1_DataEngine_Workspace_join_System_String_System_Dynamic_ExpandoObject_System_Object_">join(string, ExpandoObject, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a join query.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_query_System_Object_" data-uid="C1.DataEngine.Workspace.query(System.Object)">
          <a class="xref" href="C1.DataEngine.Workspace.query.html#C1_DataEngine_Workspace_query_System_Object_">query(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a query based on a single table or query (not a join).</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_query_System_String_System_Object_" data-uid="C1.DataEngine.Workspace.query(System.String,System.Object)">
          <a class="xref" href="C1.DataEngine.Workspace.query.html#C1_DataEngine_Workspace_query_System_String_System_Object_">query(string, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a query based on a single table or query (not a join).</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataEngine_Workspace_table_System_String_" data-uid="C1.DataEngine.Workspace.table(System.String)">
          <a class="xref" href="C1.DataEngine.Workspace.table.html#C1_DataEngine_Workspace_table_System_String_">table(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a base table by its name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="events">Events
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataEngine_Workspace_Initialize" data-uid="C1.DataEngine.Workspace.Initialize">
          <a class="xref" href="C1.DataEngine.Workspace.Initialize.html">Initialize</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs after the workspace has been initialized, its <a class="xref" href="C1.DataEngine.Workspace.Init.html#C1_DataEngine_Workspace_Init_System_String_">Init(string)</a> method has been called.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
