Dual-write and Virtual Tables


  • These is a feature provided for interaction between Dataverse and Dynamics 365 Finance and Operations application.
  • Provides bidirectional integration between Finance and Operation apps and Dataverse
  • Whenever a user makes any change in Finance and Operation apps, it causes writes to Dataverse and vice-versa.
  • Should be used when you are working with Dynamics 365 apps
  • These used in scenarios where near real-time integration is required.
  • Dual-write will duplicate the data in both the directions (to and from Dataverse)

Virtual Tables

  • Used for data from external systems
  • Replication of data does not happen
  • Custom coding is not required
  • In-built or Custom connectors can be used to access data from external systems

Types of tables in Dataverse

There are four types of tables in Dataverse:

  • Standard: These are the pre-built set of tables that are included in every instance of Dataverse database. You can change name of these tables and columns of these tables, but you cannot delete any column from these tables. These are the generic tables that can be used across any organization. You can customize them as per your requirement. It is recommended to try to use these tables before creating new custom tables.
  • Complex: These tables contain complex and server-side business logic, including workflows and plugins. Users need P2 or Dynamics 365 license to work on these tables. Care should be taken while working on these tables as they include server-side logic.
  • Restricted: These tables are linked to Dynamics 356 applications for which each user should have the license for that Dynamic 365 application to perform CRUD (Create, Read, Update and Delete) operations.
  • Custom: These are the tables that are created for a specific business requirement.

Create New Environment

Whenever a user signs up for Power Apps or Dynamics, a new environment is automatically created. This environment will be the default environment.

Below are the steps to create a new environment:

Read More »

What is Dataverse?

Microsoft Dataverse is a cloud-based, low-code data service and app platform, which allows you to leverage the security and connectivity of Microsoft services.

  • Dataverse comes with standard tables and columns, with relationships defined between them.
  • Users can also create custom tables and columns, and also define relationships between them.
  • Dataverse is available globally but its deployment is based on Region/Geography for compliance reasons.
  • This is not stand-alone and will need an internet connection.
  • Dataverse can be used as data source for Dynamics 365, Power Apps, Power Automate, AI Builder, Portals etc.
  • It used Azure Active Directory (Azure AD) to handle authentication including multi-factor authentication. Authorization is supported till row and column level.
  • We can easily apply business logic on data like duplicate detection, business rules, workflows etc.
  • Dataverse stores data in Azure Cloud.
  • A Dataverse database stores data in a set of standard and custom tables. A table is a logical set of rows that is used to store data.
  • Tables can hold millions of items. Storage in each instance of Dataverse database can be extended to 4 TB per instance.
  • The structure of Dataverse database is based upon the definitions and schema in Common Data Model.
  • As per Microsoft Document, Common Data Model is a logical design that includes a set of open-sourced, standardized, extensible data tables and relationships that Microsoft and its partners have published in an industry-wide initiative called the Open Data Initiative. This collection of predefined tables, columns, semantic metadata and relationships form the basis of Common Data Model.
  • Types of Tables:
    • Standard: Out-of-box, customizable, imported as part of managed solution
    • Managed: non-customization and imported as part of managed solution
    • Custom: new tables or imported from unmanaged solution
  • Types of table relationships in Dataverse
    • One-to-Many
    • Many-to-Many
  • Environments
    • Each environment allows only one Dataverse database for use within that environment
    • Each environment is created under Azure AD tenant and can only be accessed by users of that tenant
    • All environments are bound to their respective geographic locations. Hence, the Dataverse database is created in the datacenter of that geographic location.
    • We can create multiple environments for one geographic location to manage our solutions like Development Environment for development purpose, Testing Environment for testing the developed solutions and Production Environment for solutions that will be used by End Users.
  • Business Rules
    • Business rules apply logic at data layer and not at app layer.
    • Examples of Business Rules: check empty value, show error message, validate data etc.