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:
- You're using a Copy Data and the lookup is polymorphic
- You're using a Dataflow and the lookup is polymorphic
- 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".
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".