13 years in Microsoft technologies
6 years in Web, Desktop e Mobile
7 working with CRMs
Technical Architect at Right IT Services
Microsoft Partner company focused on providing CRM
solutions, Sharepoint and custom applications.
Business Solutions MVP (Dynamics CRM)
Common Data Service (CDS) contains a Common Data Model (CDM)
Business application model and storage mechanism
An easy to provision, yet scalable data store
A common data model with standard entity schema and behavior
Set of standard entities deployed within every database
A powerful data access layer
Support for data import, export and security
Integration with Microsoft Office for Excel and Outlook
SDK for professional development scenarios
Standard and Custom entities
Quickly and easily import data from your existing systems.
Synchronize the data between your existing systems and your platform solutions.
Manages access to data in the database and conforms to the security models of the enterprise.
We can extend the entities without breaking data sharing with other apps.
Create custom entities
Add custom fields to standard and custom entities
Build reusable components that are bound to the entities.
Connect information from productivity platforms with data from business applications.
Microsoft Office 365 integration
Provides a uniform model that is used to surface data to the Office 365
Productivity add-ins to access your data from Microsoft Excel and Outlook.
PowerApps and Flow
Incorporate standard and custom entities into an app
Why use Standard entities?
Translations for standard entity names and fields into local languages
Field Groups to identify key fields for create, details and reporting scenarios
Predefined sample data
Security permission sets
Relationships to each other to support common business processes
Can be extended with custom fields to support
ISVs and other developers can all work against a common set of data
Entity field data types
Type Primitive Type Description
Address Compound separate fields for first line, second line, city, state/province, ...
AutoNumber String With prefix and an incrementing number. For example, “EXP001.”
BigInteger BigInteger RecordId - included as a system field in every entity. cannot create
Boolean Boolean True and False.
Currency Compound two fields(decimal value; enumeration for the currency code).
Date DateTime Only the Date portion of the DateTime type
DateTime DateTime A date that is combined with a time of day with fractional seconds.
Email String Email is stored as a string but is understood as a separate type
Guid Guid A guid.
Integer Integer An integer between -2,147,483,648 and 2,147,483,647.
Entity field data types
Type Primitive Type Description
Lookup [Foreign key] The value matches the primary key in another table.
Multiline Text String Multiple lines of text.
Number Decimal can be stored 32 digits
PersonName Compound given name (first name), middle name, and surname (last name).
Phone String Phone is stored as a string but is understood as a separate type
Picklist Integer The integer serves as a reference into one of the standard picklists.
Quantity Quantity A decimal value.
Text String One line of text.
Url String Url is stored as a string but is understood as a separate type
Entity field properties
Property Applies To Description
Default value Text The default value of the Text field.
Max length Text The maximum number of characters in a text field.
Prefix Number Sequence The prefix that is used for the number sequence.
Picklist Picklist The option set type of the field.
Required All A value is required for the field.
Searchable All The data can be searched.
Unique All Values for the field must be unique across the entity.
Entity relationships and lookup fields
The value of a lookup field must match the
primary key of a row in the lookup entity.
If a row in the referenced entitiy is deleted, all
the associated rows in the referencing entity
Cannot delete a row in the referenced entity if
it has associated rows in the referencing
Two modes in which the Common Data
Service can run
Open mode (by default)
All users access all of the data stored
No permissions checks when a user tries to
access the data
Everyone will be able to share and use apps
Permission check when a user tries to access
Users will be able to share apps, but can only
access the entities that they have been provide
Ability to assign users to roles, and define the
permissions for those roles.
Assigned to users or user groups to provide them access to a collection of entities;
The entities that a role provides access to are determined by the permission sets that the role
There are two special roles:
Provides access to all entities in your database
Ability to change the entity schema
Assigned to all users in your organization automatically
This role does not provide any access out of the box.
Once entities are included in this role everyone will have access to them
A user can be assigned multiple roles to allow access to different sets of entities
Security Permission Sets
The standard entities have been grouped, and each group has two permission sets :
View – allows read-only access to the data within the entity
Maintain – allows read, create, update and delete operations within the entity.
A permission set is comprised of a list of entities and the level of access granted for each
Create, read, update, and delete permissions can be granted to any entity
To grant access to a custom entity you must provide an access level under a permission set.
Changes in last release
Improved app from data generation on standard and custom entities with field groups
Editable data import/export entity field mappings
Ability to export data import/export templates
Multi-sheet Excel import
Simplified address type, complex types for Quantity, Person name, GUID, Date
Central place to view entity relationships
Simplified primary key definition
Searchable fields allow for indexed searches
Entity data explorer in creator portal
Default value support for simple data types