﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/latest/dotnetdoc/api/Apache.Ignite.Linq.CacheClientLinqExtensions.html" />


    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class CacheClientLinqExtensions
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class CacheClientLinqExtensions
   | 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.CacheClientLinqExtensions">
  
  
  <h1 id="Apache_Ignite_Linq_CacheClientLinqExtensions" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions" class="text-break">Class CacheClientLinqExtensions
  </h1>
  <div class="markdown level0 summary"><p>Extensions methods for <a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html">ICacheClient&lt;TK, TV&gt;</a>.</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">CacheClientLinqExtensions</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_CacheClientLinqExtensions_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static class CacheClientLinqExtensions</code></pre>
  </div>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable_" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable*"></a>
  <h4 id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable``2(Apache.Ignite.Core.Client.Cache.ICacheClient{``0,``1})">AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;)</h4>
  <div class="markdown level1 summary"><p>Gets an <span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.
<p>
Resulting query will be translated to cache SQL query and executed over the cache instance 
via either <a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html#Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_Apache_Ignite_Core_Cache_Query_SqlFieldsQuery_">Query(SqlFieldsQuery)</a>.
<p>
Result of this method (and subsequent query) can be cast to <a class="xref" href="Apache.Ignite.Linq.ICacheQueryable.html">ICacheQueryable</a>
for introspection, or converted with <a class="xref" href="Apache.Ignite.Linq.CacheLinqExtensions.html#Apache_Ignite_Linq_CacheLinqExtensions_ToCacheQueryable__1_System_Linq_IQueryable___0__">ToCacheQueryable&lt;T&gt;(IQueryable&lt;T&gt;)</a>
extension method.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static IQueryable&lt;ICacheEntry&lt;TKey, TValue&gt;&gt; AsCacheQueryable&lt;TKey, TValue&gt;(this ICacheClient&lt;TKey, TValue&gt; cache)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html">ICacheClient</a>&lt;TKey, TValue&gt;</td>
        <td><span class="parametername">cache</span></td>
        <td><p>The cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Linq.IQueryable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.ICacheEntry-2.html">ICacheEntry</a>&lt;TKey, TValue&gt;&gt;</td>
        <td><p><span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TKey</span></td>
        <td><p>The type of the key.</p>
</td>
      </tr>
      <tr>
        <td><span class="parametername">TValue</span></td>
        <td><p>The type of the value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable_" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable*"></a>
  <h4 id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__Apache_Ignite_Linq_QueryOptions_" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable``2(Apache.Ignite.Core.Client.Cache.ICacheClient{``0,``1},Apache.Ignite.Linq.QueryOptions)">AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;, QueryOptions)</h4>
  <div class="markdown level1 summary"><p>Gets an <span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.
<p>
Resulting query will be translated to cache SQL query and executed over the cache instance 
via either <a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html#Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_Apache_Ignite_Core_Cache_Query_SqlFieldsQuery_">Query(SqlFieldsQuery)</a>.
<p>
Result of this method (and subsequent query) can be cast to <a class="xref" href="Apache.Ignite.Linq.ICacheQueryable.html">ICacheQueryable</a> for introspection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static IQueryable&lt;ICacheEntry&lt;TKey, TValue&gt;&gt; AsCacheQueryable&lt;TKey, TValue&gt;(this ICacheClient&lt;TKey, TValue&gt; cache, QueryOptions queryOptions)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html">ICacheClient</a>&lt;TKey, TValue&gt;</td>
        <td><span class="parametername">cache</span></td>
        <td><p>The cache.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Linq.QueryOptions.html">QueryOptions</a></td>
        <td><span class="parametername">queryOptions</span></td>
        <td><p>The query options.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Linq.IQueryable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.ICacheEntry-2.html">ICacheEntry</a>&lt;TKey, TValue&gt;&gt;</td>
        <td><p><span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TKey</span></td>
        <td><p>The type of the key.</p>
</td>
      </tr>
      <tr>
        <td><span class="parametername">TValue</span></td>
        <td><p>The type of the value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable_" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable*"></a>
  <h4 id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__System_Boolean_" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable``2(Apache.Ignite.Core.Client.Cache.ICacheClient{``0,``1},System.Boolean)">AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;, Boolean)</h4>
  <div class="markdown level1 summary"><p>Gets an <span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.
<p>
Resulting query will be translated to cache SQL query and executed over the cache instance 
via either <a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html#Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_Apache_Ignite_Core_Cache_Query_SqlFieldsQuery_">Query(SqlFieldsQuery)</a>.
<p>
Result of this method (and subsequent query) can be cast to <a class="xref" href="Apache.Ignite.Linq.ICacheQueryable.html">ICacheQueryable</a> for introspection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static IQueryable&lt;ICacheEntry&lt;TKey, TValue&gt;&gt; AsCacheQueryable&lt;TKey, TValue&gt;(this ICacheClient&lt;TKey, TValue&gt; cache, bool local)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html">ICacheClient</a>&lt;TKey, TValue&gt;</td>
        <td><span class="parametername">cache</span></td>
        <td><p>The cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">local</span></td>
        <td><p>Local flag. When set query will be executed only on local node, so only local 
entries will be returned as query result.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Linq.IQueryable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.ICacheEntry-2.html">ICacheEntry</a>&lt;TKey, TValue&gt;&gt;</td>
        <td><p><span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TKey</span></td>
        <td><p>The type of the key.</p>
</td>
      </tr>
      <tr>
        <td><span class="parametername">TValue</span></td>
        <td><p>The type of the value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable_" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable*"></a>
  <h4 id="Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__System_Boolean_System_String_" data-uid="Apache.Ignite.Linq.CacheClientLinqExtensions.AsCacheQueryable``2(Apache.Ignite.Core.Client.Cache.ICacheClient{``0,``1},System.Boolean,System.String)">AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;, Boolean, String)</h4>
  <div class="markdown level1 summary"><p>Gets an <span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.
<p>
Resulting query will be translated to cache SQL query and executed over the cache instance 
via either <a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html#Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_Apache_Ignite_Core_Cache_Query_SqlFieldsQuery_">Query(SqlFieldsQuery)</a>.
<p>
Result of this method (and subsequent query) can be cast to <a class="xref" href="Apache.Ignite.Linq.ICacheQueryable.html">ICacheQueryable</a> for introspection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static IQueryable&lt;ICacheEntry&lt;TKey, TValue&gt;&gt; AsCacheQueryable&lt;TKey, TValue&gt;(this ICacheClient&lt;TKey, TValue&gt; cache, bool local, string tableName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html">ICacheClient</a>&lt;TKey, TValue&gt;</td>
        <td><span class="parametername">cache</span></td>
        <td><p>The cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">local</span></td>
        <td><p>Local flag. When set query will be executed only on local node, so only local 
entries will be returned as query result.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">tableName</span></td>
        <td><p>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.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Linq.IQueryable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.ICacheEntry-2.html">ICacheEntry</a>&lt;TKey, TValue&gt;&gt;</td>
        <td><p><span class="xref">System.Linq.IQueryable&lt;T&gt;</span> instance over this cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TKey</span></td>
        <td><p>The type of the key.</p>
</td>
      </tr>
      <tr>
        <td><span class="parametername">TValue</span></td>
        <td><p>The type of the value.</p>
</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>
