Business Central Virtual Entity
In past many of us had developed/tested custom plug-ins or connectors to integrate external data either client or server-side approaches, which required customized code with numerous limitations, (some) imperfections, data duplication and extensive time from development resources. Now, using “Virtual Entities” simplifies the external data access.
A virtual entity(VE) is a custom entity in Common Data Service(CDS) that has fields containing data from an external data source.
Entity represents a database table and each field (also known as attribute) within an entity represents a column in that table.
Virtual – Data for virtual entities do not reside in CDS rather they reside in external system and whenever an entity instance is required, its state is dynamically retrieved from the associated external system during runtime.
VE seamlessly represent external data as entities in CDS, without replication of data and often without custom coding. Virtual entities support CRUD (create, update, and delete) operations.
Business Central Virtual Entity(BC-VE)
Open Data Protocol (OData) entities exposed through API Pages in Business Central can be consumed as Virtual Entities in CDS.
Business Central API metadata are used to generate VEs and there will be no data synchronized to CDS.
With BC-2020WAVE2 release, we can consume Virtual Entities from Business Central directly in CDS and in turn extend the Business Central capability using Power Apps.
How to setup
Setup is much simple, two pre-requisite and four quick steps.
1. CDS environment
2. BC environment with 2020WAVE2 update. (Both CDS and BC environments have to be in the same tenant)
Follow 4 quick steps from demo video and you are set to access BC-Virtual Entities from CDS
Few known (preview) limitations
- Power Automate (Flows) cannot be triggered for VEs.
- VEs cannot be used in Charts(Model Driven Apps).
- No support for Attachment and Images/Pictures in VEs
- VEs cannot be customized on Common Data Service, for example, adding new fields. All modifications to virtual entities must happen in the API exposed on Business Central. But custom APIs can be developed and consumed as virtual entities.
Managing BC-Virtual Entities
- All four solutions (mentioned below) must be present in CDS environment. Otherwise, virtual entities will not work with Business Central apps. These solutions are packaged together to allow for easier portability across environment
- Each Business Central environment must point to only one Common Data Service environment. Therefore, there should be only one record in the msdyn_businesscentralvirtualentity entity.
Business Central Virtual Entities provide great opportunities for App Makers can to build experiences in customer engagement apps with data directly from Business Central with full CRUD capability and without copying to Common Data Service, and leverage all the logic already residing in Business Central.