# C1.DataEngine.QueryFactory.CreateQueryFromRuntimeQuery

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_DataEngine_QueryFactory_CreateQueryFromRuntimeQuery_" data-uid="C1.DataEngine.QueryFactory.CreateQueryFromRuntimeQuery*">CreateQueryFromRuntimeQuery Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_DataEngine_QueryFactory_CreateQueryFromRuntimeQuery_" data-uid="C1.DataEngine.QueryFactory.CreateQueryFromRuntimeQuery*"></a>
<h4 id="C1_DataEngine_QueryFactory_CreateQueryFromRuntimeQuery_C1_DataEngine_Workspace_C1_DataEngine_RuntimeQuery_" data-uid="C1.DataEngine.QueryFactory.CreateQueryFromRuntimeQuery(C1.DataEngine.Workspace,C1.DataEngine.RuntimeQuery)">CreateQueryFromRuntimeQuery(Workspace, RuntimeQuery)</h4>
<div class="markdown level1 summary"><p>Creates a C1DataEngine query from a <a class="xref" href="C1.DataEngine.RuntimeQuery.html">RuntimeQuery</a> object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public static object CreateQueryFromRuntimeQuery(Workspace workspace, RuntimeQuery query)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Shared Function CreateQueryFromRuntimeQuery(workspace As Workspace, query As RuntimeQuery) As Object</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="../C1.DataEngine/C1.DataEngine.Workspace.html">Workspace</a></td>
      <td><span class="parametername">workspace</span></td>
      <td><p>The C1DataEngine <a class="xref" href="../C1.DataEngine/C1.DataEngine.Workspace.html">Workspace</a> object in which the query will be created.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.DataEngine.RuntimeQuery.html">RuntimeQuery</a></td>
      <td><span class="parametername">query</span></td>
      <td><p>The <a class="xref" href="C1.DataEngine.RuntimeQuery.html">RuntimeQuery</a> object that describes query elements such as tables, columns, and range conditions.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></td>
      <td><p>A dynamic object representing the query. The caller is responsible for executing it.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 id="C1_DataEngine_QueryFactory_CreateQueryFromRuntimeQuery_C1_DataEngine_Workspace_C1_DataEngine_RuntimeQuery__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Typically, queries are created in C# code using anonymous objects, as in the following example:</p>
<pre><code class="lang-csharp">dynamic products = workspace.table("Products");
dynamic query = workspace.query("ProductsByColor", new {
    products.ProductColor,
    Count = Op.Count(products.ProductID),
    _range = products.ProductPrice.Gte(100)
});
query.Query.Execute();</code></pre>
<p>Applications that allow end users to create ad-hoc queries can use this method to create a query from a <a class="xref" href="C1.DataEngine.RuntimeQuery.html">RuntimeQuery</a> object:</p>
<pre><code class="lang-csharp">RuntimeQuery runtime = new RuntimeQuery();
List&lt;string&gt; tables = new List&lt;string&gt;();
List&lt;RuntimeColumn&gt; columns = new List&lt;RuntimeColumn&gt;();
List&lt;RuntimeRangeCondition&gt; range = new List&lt;RuntimeRangeCondition&gt;();
List&lt;RuntimeRangeExpression&gt; expr = new List&lt;RuntimeRangeExpression&gt;();
tables.Add("Products");
columns.Add(new RuntimeColumn("ProductColor");
columns.Add(new RuntimeColumn("ProductID", "Count", "Count");
expr.Add(new RuntimeRangeExpression("Gte", 100);
range.Add(new RuntimeRangeCondition("ProductPrice", expr.ToArray());
runtime.name = "ProductsByColor";
runtime.tables = tables.ToArray();
runtime.columns = columns.ToArray();
runtime.range = range.ToArray();
dynamic query = CreateQueryFromRuntimeQuery(workspace, runtime);
query.Query.Execute();</code></pre>
</div>
</div>
