Data entities are new concept introduced in
Dynamics 365 for operations. The main purpose of data entities is to provide a
single platform for data management. Additionally they also provide foundation for the services framework. It also enables file integration and recurring integrations.
Data entities replaces the AxD and DIXF frameworks of AX2012 and also
simplifies ALM process where we can create data packages and export import between
different environments.Below diagram shows how data entities provides platform for different scenarions.
You can think of data entities as updatable views to tables.Let's do a quick walkthrough on
developing and then exporting/importing data using
data entity for a custom table.
To keep it simple I created a new table
with 2 fields, ID and Name. Remember to have unique index defined on the table
and use it as the primary index on the table. Below is the table structure:To create a data entity for this table we can either using entity wizard by right clicking on the table and then selecting the AddIns option (as shown below)
or by adding a new item of type data entity in the project.
Let's add it manually , select data entity on the add new item screen
Let's add it manually , select data entity on the add new item screen
Select the primary data source, in this case
it will be our new table
The entity category field is to tag the category
of the entity. It will help to filter the entity on the client.
The check box to enable public API is used to
expose the entity via OData. If we turn it off then the entity will still be
available for data management platform but won't be accessible via OData.
On the next page system will show the list of
all the fields in the table you have added . This screen is quite interesting
and important as you can setup your entity.
We can uncheck some fields if we do not want
to expose, or make them mandatory even if they are not mandatory for tables.
We can add more data sources if we want.
Let's leave it as is for now.
Once finished, system will create some
artifacts - A staging table, entity and
related security privileges.
Staging table has some
system generated fields like the definition group, execution ID etc.
Build the solution and synchronise the table.
We can now view the entity in the list of entities available under data management workspace
We can filter the list
We can view the structure and mappings from the options on the form
So now we are done with creating a new entity for a custom table.
Let's import some data in the table: I created a csv file with two fields and the data as the entity structure is quite straightforward in this case
Enter the new import job details, select
format and entity name and then click on upload
Once you click on upload you can select the
csv file having data of your desired structure
Click on Import and then we get the below
notification
Once the data is imported we can see the details and the job status
View the data with the help of
inquiry buttons on the form
We can browse the table and view the data as
well.
Lets
add new record and save it from table browser
Now lets do a quick export of the data. First we create an export job
Click on Add entity after defining the data
format and the entity
Once the mapping is done, click on export ,
the job is scheduled
Once the job completes, we get a notification
We can view the execution details
We can also download the file created by the job by clicking on the ellipse and download file
Open and view the file. We can see the new row we added is exported
This was just a simple and quick walkthrough
on how to develop and use data entities. Data management platform in Dyanamics 365 for operations offers lots & lots more exciting
stuff. Keep exploring and keep sharing. Comments and feedbacks are appreciated. Thanks for reading the blog.