blob: cc9711061c6fe856813506baed35f12254f61e20 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/latest/dotnetdoc/api/Apache.Ignite.Core.Cache.Affinity.AffinityKeyMappedAttribute.html" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class AffinityKeyMappedAttribute
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class AffinityKeyMappedAttribute
| 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.Core.Cache.Affinity.AffinityKeyMappedAttribute">
<h1 id="Apache_Ignite_Core_Cache_Affinity_AffinityKeyMappedAttribute" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityKeyMappedAttribute" class="text-break">Class AffinityKeyMappedAttribute
</h1>
<div class="markdown level0 summary"><p>Specifies cache key field to be used to determine a node on which given cache key will be stored.
Only one field or property can be marked with this attribute.
<p>
This attribute is an alternative to <a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeConfiguration.html#Apache_Ignite_Core_Binary_BinaryTypeConfiguration_AffinityKeyFieldName">AffinityKeyFieldName</a> setting.
This attribute has lower priority than <a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeConfiguration.html#Apache_Ignite_Core_Binary_BinaryTypeConfiguration_AffinityKeyFieldName">AffinityKeyFieldName</a> setting.
<p>
One of the major use cases for this attribute is the routing of grid computations
to the nodes where the data for this computation is cached, the concept otherwise known as
Colocation Of Computations And Data.
<p>
For example, if a Person object is always accessed together with a Company object for which this person
is an employee, then for better performance and scalability it makes sense to colocate Person objects
together with their Company object when storing them in cache.
To achieve that, cache key used to cache Person objects should have a field or property marked with
<a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityKeyMappedAttribute.html">AffinityKeyMappedAttribute</a> attribute, which will provide the value of
the company key for which that person works.</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">System.Attribute</span></div>
<div class="level2"><span class="xref">AffinityKeyMappedAttribute</span></div>
</div>
<div classs="implements">
<h5>Implements</h5>
<div><span class="xref">System.Runtime.InteropServices._Attribute</span></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Module)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.Module, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.Module, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Assembly)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.Assembly, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefined(System.Reflection.Assembly, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type)</span>
</div>
<div>
<span class="xref">System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type, System.Boolean)</span>
</div>
<div>
<span class="xref">System.Attribute.Equals(System.Object)</span>
</div>
<div>
<span class="xref">System.Attribute.GetHashCode()</span>
</div>
<div>
<span class="xref">System.Attribute.Match(System.Object)</span>
</div>
<div>
<span class="xref">System.Attribute.IsDefaultAttribute()</span>
</div>
<div>
<span class="xref">System.Attribute.System.Runtime.InteropServices._Attribute.GetTypeInfoCount(System.UInt32)</span>
</div>
<div>
<span class="xref">System.Attribute.System.Runtime.InteropServices._Attribute.GetTypeInfo(System.UInt32, System.UInt32, System.IntPtr)</span>
</div>
<div>
<span class="xref">System.Attribute.System.Runtime.InteropServices._Attribute.GetIDsOfNames(System.Guid, System.IntPtr, System.UInt32, System.UInt32, System.IntPtr)</span>
</div>
<div>
<span class="xref">System.Attribute.System.Runtime.InteropServices._Attribute.Invoke(System.UInt32, System.Guid, System.UInt32, System.Int16, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr)</span>
</div>
<div>
<span class="xref">System.Attribute.TypeId</span>
</div>
<div>
<span class="xref">System.Object.ToString()</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.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Cache.Affinity.html">Apache.Ignite.Core.Cache.Affinity</a></h6>
<h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
<h5 id="Apache_Ignite_Core_Cache_Affinity_AffinityKeyMappedAttribute_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public sealed class AffinityKeyMappedAttribute : Attribute, _Attribute</code></pre>
</div>
<h3 id="methods">Methods
</h3>
<a id="Apache_Ignite_Core_Cache_Affinity_AffinityKeyMappedAttribute_GetFieldNameFromAttribute_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityKeyMappedAttribute.GetFieldNameFromAttribute*"></a>
<h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityKeyMappedAttribute_GetFieldNameFromAttribute_System_Type_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityKeyMappedAttribute.GetFieldNameFromAttribute(System.Type)">GetFieldNameFromAttribute(Type)</h4>
<div class="markdown level1 summary"><p>Gets the affinity key field name from attribute.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string GetFieldNameFromAttribute(Type type)</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><span class="xref">System.Type</span></td>
<td><span class="parametername">type</span></td>
<td></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.String</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="implements">Implements</h3>
<div>
<span class="xref">System.Runtime.InteropServices._Attribute</span>
</div>
</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>