Parameters in Dynamic API¶
The parameter required by the Dynamic API for queries and CUD operations is usually one of the following classes in the
Some proxy classes are inherited from those classes and have strongly-typed variables and methods simplifying usage.
Entity Set is a collection of instances of an entity and is represented by the
EntitySet class. It is most often used as a parameter to the
from method of
the DataQuery class to specify which entity set the query is operating on.
Entity type defines the structure and relationship of the entity. It is used when you create a new instance of an entity to specify its entity type.
Each entity has structural and navigation properties which are often used in various
DataQuery methods when constructing a query. Those methods require the specification of a property to perform filtering, expansion, sorting, and selection. The property instance provides information such as data type, nullable, and navigation, as well as other details of an entity property.
DataPath is used with
DataQuery methods for filtering, selection, expansion, or ordering, to represent a single-part of a multi-part path expression, for example, Address/
Property are derived from the abstract class
PropertyPath. Therefore, you can pass either a
Property or a
An entity is a structure with a key. The key is a property or set of properties (
composite) represented by the class,
EntityKey. It is used for identifying the instance of interest for retrieval.
DataValue is essentially a value holder that wraps certain value types as an object.
DataValue is an abstract class, and many subclasses hold primitive or structural type values. There are five types of primitive type values:
- Basic –
StringValue, and so on
- Calendar –
LocalDateTime, and so on
- Geography –
GeographyMultiPoint, and so on
- Geometry –
GeometryMultiPoint, and so on
- Enum -
EnumValue, and so on
Structural type values can be either a structure or a list of structures. Therefore, all the value holders are derived from the
DataValue abstract class. See here for the inheritance tree of structural type value classes.
DataValue and its derived classes are often used in setter and getter methods when the parameter or return value is a value holder, such as
enum, date time, and complex type. There are also type-specific setter and getter functions, such as
A very common use of a value holder is in the construction of an entity key.
EntityValue is a subclass of
DataValue, which represents the value of an entity instance. It is used when passing the instance as a parameter to various CUD operations in
DataService, for example
createMedia. Each instance of
EntityValue points to the representing entity type.
An entity type may contain a complex value as one of its properties. To create an instance of this entity may require creating a complex type value.