<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.7.0/dotnetdoc/functions_prop_e.html" />
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>Apache Ignite.NET: Class Members - Properties</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<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>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Apache Ignite.NET
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('functions_prop_e.html','');});
</script>
<div id="doc-content">
<div class="contents">
&#160;

<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>EagerTtl
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#abe30ae82e3ea96eeac9251d307a1d4cc">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
</li>
<li>ElementType
: <a class="el" href="interface_apache_1_1_ignite_1_1_linq_1_1_i_cache_queryable.html#ac8f3c2c3ccbe86cc6ac70636b79b7ff2">Apache.Ignite.Linq.ICacheQueryable</a>
</li>
<li>EnableDistributedJoins
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_sql_fields_query.html#aee35950c745f3395f5505a3d8a90ed4d">Apache.Ignite.Core.Cache.Query.SqlFieldsQuery</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_sql_query.html#a6f3950d542b3da2e986940037f9062f5">Apache.Ignite.Core.Cache.Query.SqlQuery</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_linq_1_1_query_options.html#af68462083ae04dddc36c57a96d735d22">Apache.Ignite.Linq.QueryOptions</a>
</li>
<li>EnableSwap
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#a87ad4215e214c941becc2f4e3e6aa22e">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
</li>
<li>Endpoints
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_discovery_1_1_tcp_1_1_static_1_1_tcp_discovery_static_ip_finder.html#a41f2278af4f09ec5bb93c2a2c4eb21af">Apache.Ignite.Core.Discovery.Tcp.Static.TcpDiscoveryStaticIpFinder</a>
</li>
<li>EnforceJoinOrder
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_sql_fields_query.html#a4d677bd63633987956b611927c8ba3bf">Apache.Ignite.Core.Cache.Query.SqlFieldsQuery</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_linq_1_1_query_options.html#a4aa0ce427edaa1ab9d8c7d1eeb69a931">Apache.Ignite.Linq.QueryOptions</a>
</li>
<li>EnumValue
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#a06933e9624395f8b210df0ce6ffad825">Apache.Ignite.Core.Binary.IBinaryObject</a>
</li>
<li>ErrorAll
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_events_1_1_event_type.html#af78e71bd80793bb0defcea0d74a1f52e">Apache.Ignite.Core.Events.EventType</a>
</li>
<li>EventNode
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_events_1_1_cache_event.html#a2ae2231190b82bd8189bf7013451699e">Apache.Ignite.Core.Events.CacheEvent</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_events_1_1_discovery_event.html#af67956ba538e5c6f3a29d690c916c3e9">Apache.Ignite.Core.Events.DiscoveryEvent</a>
</li>
<li>EventType
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_event_1_1_i_cache_entry_event.html#a49d0f53cc36260484531572a9bde4b36">Apache.Ignite.Core.Cache.Event.ICacheEntryEvent&lt; out out TK, out out TV &gt;</a>
</li>
<li>EvictionPolicy
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#a6d71d6a2f16a5905b0ce18067588e167">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_near_cache_configuration.html#a8a9131edb402d2f6f32509fcceabc2f2">Apache.Ignite.Core.Cache.Configuration.NearCacheConfiguration</a>
</li>
<li>EvictSynchronized
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#af32e6883dcfb64fccbbbe681aa37167e">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
</li>
<li>EvictSynchronizedConcurrencyLevel
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#a46b4a2cac175d58b3e46d00cc9079f29">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
</li>
<li>EvictSynchronizedKeyBufferSize
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#a09e6225edd8071b4a9fff7ab4d063111">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
</li>
<li>EvictSynchronizedTimeout
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#a886cf2e6bcf46af677ccf9cd32277b5f">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
</li>
<li>Exception
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_job_result.html#ad2a1d34a14fffbb39d0bb82f93d8a09a">Apache.Ignite.Core.Compute.IComputeJobResult&lt; out out TRes &gt;</a>
</li>
<li>ExecutionId
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_services_1_1_i_service_context.html#a61345b0bce52841552af910a140afd47">Apache.Ignite.Core.Services.IServiceContext</a>
</li>
<li>Exists
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_i_mutable_cache_entry.html#aa86e7ba781d6475d1d9e8c45b67e5691">Apache.Ignite.Core.Cache.IMutableCacheEntry&lt; out out TK, TV &gt;</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Aug 1 2016 19:40:28 for Apache Ignite.NET by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
