Metadata and data models

Applies to Dynamics 365 (online), version 9.x

Dynamics 365 (online) Customer Engagement uses a metadata driven architecture to provide the flexibility to create custom entities and additional system entity attributes. This structure also makes upgrades and the transportation of customizations easier. The data structure can change without requiring any change to code in the Dynamics 365 server or client applications.

All the information necessary for Dynamics 365 server to operate is stored in the Dynamics 365 metadata. This includes information about entities, attributes, relationships, and option sets.

The Dynamics 365 Web services contain the messages that you use to read or write the definitions for all the entities each organization. It can also be used to build a client-side metadata cache, which is useful for applications that access the metadata frequently. For example, you may want to create a custom search solution that supports all entities, even those created after the solution has been installed.

A very important role of the metadata is to provide the framework to deliver a fully metadata driven user interface. The entity metadata controls the grid and form layout, and how navigation options are presented.

When you create a custom entity, the information in the attributes and relationships are used to create the appropriate user interface for that entity. In addition, this supports multiple languages in the user interface so that one user may see labels and other text in a different language from another user. These languages and the associated labels are stored in the metadata. The language edition of Dynamics 365 server that is installed for an organization is considered its base language. You then install Multilingual User Interface (MUI) language packs for additional languages as they are needed.

To read more about metadata and how to find metadata reports, see Entity Metadata.

The following table lists the objects described by the metadata.

Metadata object Description
Entity An entity is a container for data, similar to a table in a traditional database. Each entity contains a set of attributes. For Dynamics 365, there are a set of entities that exist when you first install. Some of these are customizable. In addition, you can create custom entities to contain business data.
Attribute An attribute is a container for a piece of data in an entity. Dynamics 365 supports a wide variety of attribute types.
Relationship A relationship defines an association between two entities: one-to-many, many-to-one, many-to-many, and self-referential.
Option Set An option set defines a set of options provided for a picklist. Several picklist attributes may use a global option set so that the options they provide are always the same and can be maintained in one location.
Option An option is one of the values available in an option set. Each option in an option set has a unique integer value and an associated set of localized labels.

See also

Extend Dynamics 365
Supported Extensions for Dynamics 365
Browse the Metadata for Your Organization
Customize entity attribute metadata
Create auto-number attributes
Customize entity relationship metadata
Use the Web API with metadata
Use the Organization service with Dynamics 365 metadata
Extend Dynamics 365 on the server
Extend Dynamics 365 on the client
Customize Dynamics 365 applications
Package and distribute extensions using solutions
Extend Dynamics 365 for Outlook
Integrate Dynamics 365 with SharePoint
Integrate Dynamics 365 with OneNote