Microsoft Dataverse entities
Effective November 2020:
- Common Data Service has been renamed to Microsoft Dataverse. Learn more
- Some terminology in Microsoft Dataverse has been updated. For example, entity is now table and field is now column. Learn more
This article will be updated soon to reflect the latest terminology.
Providing storage for data is the most important function of Dataverse. Dataverse includes a base set of entities that provide structure for data used by business applications.
You can view the base set of entities in the Dataverse entity reference.
You can modify the entity metadata using several different methods.
There are several ways to edit entity metadata using designers.
|powerapps.com||The easiest and most common approach to modify the schema is to use the powerapps.com site to edit Dataverse associated with an environment. Changes applied here are performed in the context of an unmanaged Common Data Service Default Solution.|
|Common Data Service Default Solution explorer||There is another designer available from the powerapps.com site when editing Dataverse. In the lower left-hand corner, the Advanced button will open the solution explorer to the Common Data Service Default Solution.|
|Solution explorer for your solution||If you will distribute a solution you should create any new entities, attributes, or relationships in the context of the unmanaged solution that you will use to develop your solution.
More information: Solution publisher
|From the form editor||When editing a model-driven app form for an entity, you can click the New Field button in the Field Explorer. If you create a lookup field, you will create a new entity relationship to support it.|
Import a solution
A solution can contain entity metadata and other customized components. Importing a managed or unmanaged solution into your Dataverse tenant will include those entities or extend existing entities with the new entity metadata they contain.
From a data source using Power Query
You can create new entities and fill them with data using Power Query. More information: Add data to an entity in Dataverse by using Power Query
Use metadata services
The web services exposed in Dataverse include capabilities to create, read, write, and delete entity metadata. These services are most frequently used to read the metadata because that data can inform your code at runtime about how the environment has been customized. More information: Metadata services
The data model is defined as metadata that is stored within Dataverse. This data about the schema is known as Entity Metadata.
- The EntityMetadata Class defines this with the Organization service.
- The EntityMetadata EntityType defines this for the Web API.
The Entity metadata includes the following information:
|Entity Properties||Each entity has nearly 100 properties that describe how it is identified and what can be done with it. More information: Entity Metadata|
|Relationships||Three of the entity properties are collections of relationships between entities. These collections contain different types of relationships: Many-To-Many, Many-To-One, and One-To-Many. More information: Entity Relationships Metadata|
|Privileges||One of the entity properties is a collection of between 0 and 8 privileges that identity the kinds of data operations that can be performed on that entity with a unique identifier associated with each one. These operations include: Append, AppendTo, Assign, Create, Delete, Read, Share, and Write.|
|Keys||By default, each entity has a single GUID (globally unique identifier) attribute and the
Developing an understanding of the entity metadata in the system can help you understand how Dataverse works. Many of the properties also control what entities in model-driven apps can do. The designers available to edit metadata cannot show all the details found in the metadata. You can install a model-driven app called the Metadata Browser which will allow you to view all the hidden entities and metadata properties that are found in the system. More information: Browse the metadata for your organization
Dataverse contains some entities which are not intended for 3rd party developers to use. These entities are added by Microsoft to enable feature functionality. Private entities are indicated by the EntityMetadata.IsPrivate property. These entities are not included in the Web API CSDL $metadata document for this reason. However you will find them when querying entity metadata.
You should not use private entities in your solutions. By marking an entity as private, Microsoft is explicitly indicating that we do not support other apps to use the entity. Microsoft may remove the entity or introduce breaking changes at any time. Use of these entities by anyone other than Microsoft is not supported.