Skip to main content
The 2024 Developer Survey results are live! See the results
217
2

When inserting data into a dataverse sink in data factory, it is worth bearing in mind that lookups may not behave how you expect them to. There are 3 situations involving lookups to be aware of:

  1. You're using a Copy Data and the lookup is polymorphic
  2. You're using a Dataflow and the lookup is polymorphic
  3. You're using a Dataflow and the lookup is not polymorphic

In the first case, you will need to have a column which contains the logical name of the table you want the lookup to point to. Then, in the Copy Data, this column will need to point to the column the GUID is being inserted into suffixed with "@EntityReference". Derived column setup for polymorphic lookup

Select column setup for polymorphic lookup

In the second case, I am unaware of a solution to this. You can attempt to use the solution to case 3, but I have had mixed results. You'll probably be best using a dataflow to populate a staging table and then use the solution to case 1.

In the third case, you will need to set the value of the column the GUID should be getting inserted into to "/plural_name_of_table(guid_value)". Then when you insert this value into the sink, you'll need to use the schema name of the column - which is case sensitive - and suffix it with "@odata.bind". Derived column setup for non-polymorphic lookup

Select column setup for non-polymorphic setup

1