Show / Hide Table of Contents

# Class QueryEntity

Query entity is a description of cache entry (composed of key and value) in a way of how it must be indexed and can be queried.

##### Inheritance

System.Object
QueryEntity

##### Inherited Members

System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()

###### Namespace: Apache.Ignite.Core.Cache.Configuration

###### Assembly: Apache.Ignite.Core.dll

##### Syntax

    public sealed class QueryEntity : IQueryEntityInternal, IBinaryRawWriteAware, IBinaryRawWriteAware<IBinaryRawWriter>

### Constructors

#### QueryEntity()

Initializes a new instance of the QueryEntity class.

##### Declaration

    public QueryEntity()

#### QueryEntity(Type)

Initializes a new instance of the QueryEntity class.

##### Declaration

    public QueryEntity(Type valueType)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Type | valueType | Type of the cache entry value.

#### QueryEntity(Type, Type)

Initializes a new instance of the QueryEntity class.

##### Declaration

    public QueryEntity(Type keyType, Type valueType)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Type | keyType | Type of the key.
System.Type | valueType | Type of the value.

### Properties

#### Aliases

Gets or sets field name aliases: mapping from full name in dot notation to an alias that will be used as SQL column name. Example: {"parent.name" -> "parentName"}.

##### Declaration

    public ICollection<QueryAlias> Aliases { get; set; }

##### Property Value

Type | Description
--- | ---
System.Collections.Generic.ICollection<QueryAlias> |

#### Fields

Gets or sets query fields, a map from field name to Java type name. The order of fields defines the order of columns returned by the 'select *' queries.

##### Declaration

    public ICollection<QueryField> Fields { get; set; }

##### Property Value

Type | Description
--- | ---
System.Collections.Generic.ICollection<QueryField> |

#### Indexes

Gets or sets the query indexes.

##### Declaration

    public ICollection<QueryIndex> Indexes { get; set; }

##### Property Value

Type | Description
--- | ---
System.Collections.Generic.ICollection<QueryIndex> |

#### KeyFieldName

Gets or sets the name of the field that is used to denote the entire key.

By default, entity key can be accessed with a special "_key" field name.

##### Declaration

    public string KeyFieldName { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

#### KeyType

Gets or sets the type of the key.

This is a shortcut for KeyTypeName. Getter will return null for non-primitive types.

Setting this property will overwrite Fields and Indexes according to QuerySqlFieldAttribute, if any.

##### Declaration

    public Type KeyType { get; set; }

##### Property Value

Type | Description
--- | ---
System.Type |

#### KeyTypeName

Gets or sets key Java type name.

##### Declaration

    public string KeyTypeName { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

#### TableName

Gets or sets the name of the SQL table. When not set, value type name is used.

##### Declaration

    public string TableName { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

#### ValueFieldName

Gets or sets the name of the field that is used to denote the entire value.

By default, entity value can be accessed with a special "_val" field name.

##### Declaration

    public string ValueFieldName { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |

#### ValueType

Gets or sets the type of the value.

This is a shortcut for ValueTypeName. Getter will return null for non-primitive types.

Setting this property will overwrite Fields and Indexes according to QuerySqlFieldAttribute, if any.

##### Declaration

    public Type ValueType { get; set; }

##### Property Value

Type | Description
--- | ---
System.Type |

#### ValueTypeName

Gets or sets value Java type name.

##### Declaration

    public string ValueTypeName { get; set; }

##### Property Value

Type | Description
--- | ---
System.String |