When you get used to it, you like to behave alike in the C#. Fortunately, new C# have some dynamic features. It has keyword dynamic, and it contains ExpandoObject.
In my case, I used dynamic features for easily generating a JSON output. By my default style, I should created a series of DTOs, then populate them in a nested loop from database. However, dynamic feature let me exclude all redundant DTO classes and, simply inject data by extending the ExpandoObject.
At first glance, I had confusion about the order in which items would be added to the ExpandoObject or List<dynamic>. But by exercise and test, I found the correct solution.
Next step, I will try to use dynamic feature to receive binding models from the API. This is another area which generates a lot of less used DTOs. By now, I don't know about any other usage of dynamic in the C# and ASP.NET, but I am open for it.