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.
Namespace
Google.Cloud.Datastore.V1Assembly
Google.Cloud.Datastore.V1.dll
Constructors
Key()
public Key()
Key(Key)
public Key(Key other)
Parameter | |
---|---|
Name | Description |
other | Key |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
RepeatedField<Key.Types.PathElement> |
Methods
GetParent()
public Key GetParent()
Constructs a clone of this key and removes the final path element.
Returns | |
---|---|
Type | Description |
Key | The parent key to this key. |
Exceptions | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
pathElement | Key.Types.PathElement The path element to append. Must not be null. |
Returns | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
kind | String The kind of path element to append. Must not be null. |
id | Int64 The ID of the path element to append. |
Returns | |
---|---|
Type | Description |
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 | |
---|---|
Name | Description |
kind | String The kind of path element to append. Must not be null. |
name | String The name of the path element to append. Must not be null. |
Returns | |
---|---|
Type | Description |
Key | A clone of this key, with the specified path element. |