• My entities are missing…

    One of the crucial concepts in Dynamics 365 for Operations are Data Entities… you use them for basically everything. Data entities is an abstraction on top of the regular database table which aggregates multiple table into one object.

    Today I had a problem with an entity missing som the entity list. I this happens the solution is usually to refresh the list by going to  System administration – Workspaces – Data management – Data import/export framework parameters and clicking Refresh entity list under Entity Settings.

    That did not do the trick today so I had to dig deeper… and found this SQL script that clears the entity list:

    -- This source code or script is freeware and is provided on an “as is” basis without warranties of any kind,
    -- whether express or implied, including without limitation warranties that the code is free of defect,
    -- fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of
    -- the code is with the end user.
    
    -- Create backups of the tables first
    
    SELECT *
    INTO DMFEntity_backup
    FROM DMFEntity
    GO
    
    SELECT *
    INTO DMFTargetXML_backup
    FROM DMFTargetXML
    GO
    
    SELECT *
    INTO DMFTargetXMLToEntityMap_backup
    FROM DMFTargetXMLToEntityMap
    GO
    
    SELECT *
    INTO DMFTargetEntityHierarchy_backup
    FROM DMFTargetEntityHierarchy
    GO
    
    -- Truncate the tables
    TRUNCATE TABLE DMFENTITY
    GO
    
    TRUNCATE TABLE DMFTargetXML
    GO
    
    TRUNCATE TABLE DMFTargetXMLToEntityMap
    GO
    
    TRUNCATE TABLE DMFTargetEntityHierarchy
    GO

    Then I go back to Data import/export framework parameters and run Refresh entity list.

    That seem to do the trick

    NOTE: this procedure has one slight down side and that you are also deleting all mappings for all entities. The (rather tedious) solution is to go into each entity and regenerate mappings… for all 2800+ entities… Wohoo…

    Fortunately a smart person on Yammer wrote this script that regenerates all mappings for all entities in one run.

    Links:
    https://cloudblogs.microsoft.com/dynamics365/no-audience/2016/07/20/data-management-missing-entities-2/?source=axsupport