Monday, June 11, 2018

Limitations of Virtual Entities

Limitations of Virtual Entities
There are some limitations to virtual entities that you need to be aware of when evaluating whether you can use virtual entities with your external data.
·         Data is read-only. The virtual entity feature doesn’t support pushing changes made in Dynamics 365 back to the external system.
·         Only organization-owned entities are supported. The security filtering applied to user-owned entities is not supported. Access to the virtual entity data can be turned on or off for individual users based on their security role. Field-level security is not supported.
·         It must be possible to model the external data as a Dynamics 365 entity. This means:
·         All entities in the external data source must have an associated GUID primary key.
·         All entity properties must be represented as Dynamics 365 attributes. You can use simple types representing text, numbers, optionsets, dates, images, and lookups.
·         You must be able to model any entity relationships in Dynamics 365.
·         An attribute on a virtual entity cannot be calculated or rollup. Any desired calculations must be done on the external side, possibly within or directed by the data provider.
·         Auditing and change tracking is not supported. These may be implemented within the external data store.
·         Virtual entities cannot be enabled for queues.
·         Offline caching of values is not supported for virtual entities.
·         A virtual entity cannot represent an activity and do not support business process flows.
·         Once created, a virtual entity cannot be changed to be a standard (non-virtual) entity. The reverse is also true: a standard entity cannot be converted into a virtual entity.

Virtual entities have these restrictions.
·         All virtual entitites are read-only.
·         Existing entities cannot be converted to virtual entities.
·         By default, virtual entities contain only a Name and Id field. No other system managed fields, such as Status or Created On/Modified On are supported.
·         Virtual entities don't support custom fields with the Currency, Image, or Customer data types.
·         Virtual entities don't support auditing.
·         Virtual entity fields can't be used in rollups or calculated fields.
·         A virtual entity can't be an activity type of entity.
·         Many features that affect entity table rows cannot be enabled with virtual entities. Examples include queues, knowledge management, SLAs, duplicate detection, change tracking, mobile offline capability, field security, Relevance Search, Portals for Dynamics 365 web portal solutions, and N:N relationships between virtual entities.
·         Virtual entities are organization owned and don't support the row-level Commond Data Service for Apps security concepts. We recommend that you implement your own security model for the external data source.
·         We recommend that you target a single data source when you use virtual entities in Advanced Finds. For example, creating an Advanced Find that ultimately creates a join between the Common Data Service for Apps native data and the virtual entity external data isn't supported.
·         Field metadata properties that validate on update don’t apply to virtual entities. For example, a Whole Number field on a virtual entity field may be set to have a minimum value of zero. However, since the value is coming from an external data source, a query will return values less than zero when retrieved from a virtual entity. The minimum value property is not implied in the query. You would still need to filter the values to be greater than 0 if that’s what is desired.
·         Virtual entities don't support change tracking and cannot be synchronized by using a Dynamics 365 feature, such as the Data Export Service.