﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.0/dotnetdoc/api/Apache.Ignite.Linq.QueryOptions.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class QueryOptions
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class QueryOptions
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Linq.QueryOptions">
  
  
  <h1 id="Apache_Ignite_Linq_QueryOptions" data-uid="Apache.Ignite.Linq.QueryOptions" class="text-break">Class QueryOptions
  </h1>
  <div class="markdown level0 summary"><p>Cache query options.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">QueryOptions</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Linq.html">Apache.Ignite.Linq</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Linq.dll</h6>
  <h5 id="Apache_Ignite_Linq_QueryOptions_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class QueryOptions</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Linq_QueryOptions__ctor_" data-uid="Apache.Ignite.Linq.QueryOptions.#ctor*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions__ctor" data-uid="Apache.Ignite.Linq.QueryOptions.#ctor">QueryOptions()</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Linq.QueryOptions.html">QueryOptions</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public QueryOptions()</code></pre>
  </div>
  <h3 id="fields">Fields
  </h3>
  <h4 id="Apache_Ignite_Linq_QueryOptions_DefaultPageSize" data-uid="Apache.Ignite.Linq.QueryOptions.DefaultPageSize">DefaultPageSize</h4>
  <div class="markdown level1 summary"><p>Default page size. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultPageSize = 1024</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Linq_QueryOptions_Colocated_" data-uid="Apache.Ignite.Linq.QueryOptions.Colocated*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_Colocated" data-uid="Apache.Ignite.Linq.QueryOptions.Colocated">Colocated</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether this query operates on colocated data.
<p>
Whenever Ignite executes a distributed query, it sends sub-queries to individual cluster members.
If you know in advance that the elements of your query selection are colocated together on the same
node and you group by colocated key (primary or affinity key), then Ignite can make significant
performance and network optimizations by grouping data on remote nodes.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Colocated { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_EnableDistributedJoins_" data-uid="Apache.Ignite.Linq.QueryOptions.EnableDistributedJoins*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_EnableDistributedJoins" data-uid="Apache.Ignite.Linq.QueryOptions.EnableDistributedJoins">EnableDistributedJoins</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether distributed joins should be enabled for this query.
<p>
When disabled, join results will only contain colocated data (joins work locally).
When enabled, joins work as expected, no matter how the data is distributed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool EnableDistributedJoins { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p><code>true</code> if enable distributed joins should be enabled; otherwise, <code>false</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_EnforceJoinOrder_" data-uid="Apache.Ignite.Linq.QueryOptions.EnforceJoinOrder*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_EnforceJoinOrder" data-uid="Apache.Ignite.Linq.QueryOptions.EnforceJoinOrder">EnforceJoinOrder</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether join order of tables should be enforced.
<p>
When true, query optimizer will not reorder tables in join.
<p>
It is not recommended to enable this property until you are sure that your indexes
and the query itself are correct and tuned as much as possible but
query optimizer still produces wrong join order.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool EnforceJoinOrder { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p><code>true</code> if join order should be enforced; otherwise, <code>false</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_Lazy_" data-uid="Apache.Ignite.Linq.QueryOptions.Lazy*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_Lazy" data-uid="Apache.Ignite.Linq.QueryOptions.Lazy">Lazy</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether this query is lazy.
<p>
By default Ignite attempts to fetch the whole query result set to memory and send it to the client.
For small and medium result sets this provides optimal performance and minimize duration of internal
database locks, thus increasing concurrency.
<p>
If result set is too big to fit in available memory this could lead to excessive GC pauses and even
OutOfMemoryError. Use this flag as a hint for Ignite to fetch result set lazily, thus minimizing memory
consumption at the cost of moderate performance hit.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Lazy { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_Local_" data-uid="Apache.Ignite.Linq.QueryOptions.Local*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_Local" data-uid="Apache.Ignite.Linq.QueryOptions.Local">Local</h4>
  <div class="markdown level1 summary"><p>Local flag. When set query will be executed only on local node, so only local 
entries will be returned as query result.
<p>
Defaults to <code>false</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Local { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_PageSize_" data-uid="Apache.Ignite.Linq.QueryOptions.PageSize*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_PageSize" data-uid="Apache.Ignite.Linq.QueryOptions.PageSize">PageSize</h4>
  <div class="markdown level1 summary"><p>Page size, defaults to <a class="xref" href="Apache.Ignite.Linq.QueryOptions.html#Apache_Ignite_Linq_QueryOptions_DefaultPageSize">DefaultPageSize</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int PageSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_ReplicatedOnly_" data-uid="Apache.Ignite.Linq.QueryOptions.ReplicatedOnly*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_ReplicatedOnly" data-uid="Apache.Ignite.Linq.QueryOptions.ReplicatedOnly">ReplicatedOnly</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether this query contains only replicated tables.
This is a hint for potentially more effective execution.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;No longer used as of Apache Ignite 2.8.&quot;)]
public bool ReplicatedOnly { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_TableName_" data-uid="Apache.Ignite.Linq.QueryOptions.TableName*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_TableName" data-uid="Apache.Ignite.Linq.QueryOptions.TableName">TableName</h4>
  <div class="markdown level1 summary"><p>Gets or sets the name of the table. 
<p>
Table name is equal to short class name of a cache value.
When a cache has only one type of values, or only one <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.QueryEntity.html">QueryEntity</a> defined,
table name will be inferred and can be omitted (null).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string TableName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>The name of the table.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_QueryOptions_Timeout_" data-uid="Apache.Ignite.Linq.QueryOptions.Timeout*"></a>
  <h4 id="Apache_Ignite_Linq_QueryOptions_Timeout" data-uid="Apache.Ignite.Linq.QueryOptions.Timeout">Timeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the query timeout. Query will be automatically cancelled if the execution timeout is exceeded.
Default is <span class="xref">System.TimeSpan.Zero</span>, which means no timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan Timeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2019 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
