Class Key (3.4.0)

public sealed class Key : IMessage<Key>, IEquatable<Key>, IDeepCloneable<Key>, IBufferMessage, IMessage

A unique identifier for an entity. If a key's partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts.

Inheritance

Object > Key

Namespace

Google.Cloud.Datastore.V1

Assembly

Google.Cloud.Datastore.V1.dll

Constructors

Key()

public Key()

Key(Key)

public Key(Key other)
Parameter
NameDescription
otherKey

Properties

IsRoot

public bool IsRoot { get; }

Convenience property to determine whether this key is a root or not. A root key is one whose Path is empty.

Property Value
TypeDescription
Boolean

PartitionId

public PartitionId PartitionId { get; set; }

Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.

Property Value
TypeDescription
PartitionId

Path

public RepeatedField<Key.Types.PathElement> Path { get; }

The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a root entity, the second element identifies a child of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's ancestors.

An entity path is always fully complete: all of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of Mutation.insert may have no identifier.

A path can never be empty, and a path can have at most 100 elements.

Property Value
TypeDescription
RepeatedField<Key.Types.PathElement>

Methods

GetParent()

public Key GetParent()

Constructs a clone of this key and removes the final path element.

Returns
TypeDescription
Key

The parent key to this key.

Exceptions
TypeDescription
InvalidOperationException

This key is a "root" key with an empty path.

ToDelete()

public Mutation ToDelete()

Creates a new mutation representing a delete of this key.

Returns
TypeDescription
Mutation

WithElement(Key.Types.PathElement)

public Key WithElement(Key.Types.PathElement pathElement)

Creates a clone of this key and appends the specified path element to the clone.

Parameter
NameDescription
pathElementKey.Types.PathElement

The path element to append. Must not be null.

Returns
TypeDescription
Key

A clone of this key, with the specified path element.

WithElement(String, Int64)

public Key WithElement(string kind, long id)

Creates a clone of this key and appends a new path element with the specified kind and ID to the clone.

Parameters
NameDescription
kindString

The kind of path element to append. Must not be null.

idInt64

The ID of the path element to append.

Returns
TypeDescription
Key

A clone of this key, with the specified path element.

WithElement(String, String)

public Key WithElement(string kind, string name)

Creates a clone of this key and appends a new path element with the specified kind and name to the clone.

Parameters
NameDescription
kindString

The kind of path element to append. Must not be null.

nameString

The name of the path element to append. Must not be null.

Returns
TypeDescription
Key

A clone of this key, with the specified path element.