Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics 365 | Integration, Dataverse...
Unanswered

Custom Data Provider for Virtual Entities - Data source without GUID

Posted on by Microsoft Employee

I'm starting this thread to gather some ideas/insights for an issue where I'm currently trying to wrap my head around. It seems ideal to me to explain the issue in a few bullet points.

Requirements:

  • Displaying data of an external data source in a Dynamics custom model-driven app
  • Each record of the external data source will be related to a Contact record in Dynamics

Limitations/Restrictions:

  • Simply migrating data to Dataverse is not an option, as the amount of data in the external data source is quite significant and we would like to limit data storage
  • An OData layer has been built on the external data source to be able to query the data
  • Operations on the external data source are restricted to read only
  • The external data source does not use GUIDs as a key
  • The external data source is not static (records are being added every day)
  • As far as I know it's not possible to add columns to the external data source
  • Every column in the external data source is of type string

Current design:

  • We have already built a limited Custom Data Provider (Retrieve & RetrieveMultiple) and are planning to use a Virtual entity to be able to show the data in the model-driven app

If you're a bit familiar with how Custom Data Providers and Virtual Entities work, you might've already noticed the biggest problem lies in the absence of a GUID in the external data source.

I've been looking to work with the existing columns and trying to develop custom code which can convert these values to GUIDs and the other way around, without luck unitl now.

So now I'm looking for some ideas or insights on how to potentially solve this problem (if it is solvable...).

As of now the only 2 options I see are the following:

  1. Insist on adding a GUID column to the external data source => practically solves everything but not probably not possible 
  2. Work with some kind of extra layer in between (eg. API) which retains a collection (eg. tuple, Dictionary) of hardcoded GUIDs and provides us with a relationship between a GUID and a record in the external data source => will probably work but feels like too much 'Ninja'

Any help would be very much appreciated!

  • AriaConsulting Profile Picture
    AriaConsulting 2,655 on at
    RE: Custom Data Provider for Virtual Entities - Data source without GUID

    Yeah, of course it would be a view.  Cause that makes it more difficult .

    Well, either of your 2 options would solve the issue, but since it's a view (non-materialized I assume cause that adds just extra bit of pain in the ass factor), almost certain you're not gonna get a GUID added to the source.  So, that leaves middleware.  Though I certainly would try very hard to avoid anything hard-coded.  There are multiple options in Azure of course ranging from API management up to the Service Bus and full-on Data Factory (I'm guessing those last couple might be 'sledgehammer for fly' solutions in this case though).  Assuming you have an Azure subscription.  If not, there are certainly equivalents in AWS and GCP.  Though in 20+ years of working with MS-centric technology, my experience is that nothing works as well with MS technology as other MS technology.

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Custom Data Provider for Virtual Entities - Data source without GUID

    Hi Lorne,

    Unfortunately we have to query a View of the external datasource due to data security reasons.

    This also means we cannot retrieve a PK..

  • AriaConsulting Profile Picture
    AriaConsulting 2,655 on at
    RE: Custom Data Provider for Virtual Entities - Data source without GUID

    Well, at the the end of the day you need a PK>FK relationship.  So, the external system has to have some sort of key that it uses, right?  Why can't you query THAT key?

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,269 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,198 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Product updates

Dynamics 365 release plans
Liquid error: parsing "/blogs/post/?postid=%27nvOpzp;%20AND%201=1%20OR%20(%3C%27%22%3EiKO))," - Too many )'s.