According to Microsoft, a virtual entity is a custom entity in Microsoft’s Common Data Service (CDS) that has fields containing data from an external data source. To users, they look like any other entity record, but they contain data sourced from an external database.
Dynamics 365 introduced virtual entities as a crucial feature to make the integration of external data much simpler than it was in the past. But virtual entities are not quite equal to “native” entities. They have some constraints, and we’ll detail some of the more glaring ones we have encountered.
- Restricted Functionality: While virtual entities do support some of the more sophisticated CDS capabilities, such as rollup fields, calculated fields, and business rules, they do not support all of them.
- Performance: When working with big amounts of data or intricate data structures, virtual entities might not function as rapidly as conventional CDS entities. As a result, load times may take longer, and performance may suffer. Additionally, as Virtual Entities are built on external data sources, variables like network latency and the complexity of the data being requested may have an impact on how well they perform.
- Query Restrictions: Virtual entities are subject to several restrictions when it comes to data queries. They do not, for instance, support complicated queries or associated data filtering.
- No Support for Offline Access: Virtual entities can only be accessed when linked to the CDS environment because they do not support offline access.
- Restricted Security: Virtual entities may not have the same number of security features and options as normal CDS entities since they inherit security settings from their data source.
- Custom Data Providers: Further license may be needed if you need to connect to an external data source via a custom data provider.
- No Support for Data Integration: Compared to other CDS features like Power Query or Dataflows, virtual entities do not offer the same level of data transformation and integration capabilities. They are also not built for data integration scenarios.
- Restricted Query Capabilities: Not all the query features offered by conventional CDS entities are supported by virtual entities. For instance, they offer limited functionality for filtering on related data and do not support join queries.
- Security: You may be limited in your ability to apply specific security settings to the data because virtual entities take their data source’s security configurations into account.
- Restricted Integration Capabilities: Virtual entities do not offer the same level of data transformation and integration capabilities as other CDS technologies like Power Query or Dataflows because they are not intended for data integration scenarios.
It is vital to carefully analyze these constraints when selecting whether to use Virtual Entities in your CDS solution, and to determine whether Virtual Entities are the correct choice for your specific use case.