I am working on a data migration project - API to API. 

The destination API is graphQL, we have a number of objects to push into the destination and the shapes vary so I am looking for some advice on how best to dynamically build mutations/queries specifically in c#.

Currently we are just using templates and using find/replace routines to inject values. While this approach does work as the shapes of the data vary this becomes evermore complex and inelegant.

I am looking for any advice/pointers from anyone who have may have had a similar scenario or knows of any libraries I should look at.