What follows is my attempt to define an Entry Model class as described in the blog post https://deliverystack.wordpress.com/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/ to support the Content Type that I described in the blog post at https://deliverystack.wordpress.com/2020/07/21/entry-data-formats-in-headless-cms/ for the Contentstack SaaS headless CMS.
Somehow I managed to name three fields incorrectly. I already published entries and pastebinned the JSON so I chose to attribute the model properties rather than changing the Field definitions. I don’t like using the vendor’s Asset class in my Entry Models so I replaced it with a custom class that exposes the URL of the Asset.
Here is the output.
Potentially excluding access to Assets and Entries referenced by Entries of this Content Type, this Entry Model class could work with CMS from other vendors that support multiple values in individual Fields.
Actually, this example is too trivial because it does not describe how to handle Contentstack Modular Blocks (https://www.contentstack.com/docs/developers/create-content-types/modular-blocks/). I haven’t seen anything comparable to Modular Blocks in other CMS products, so modeling and implementing Modular Blocks will result in Entry Model classes that are specific to Contentstack data structures. As long as the Entry Models do not use the Contentstack .NET SDK directly, this is appropriate and really the only option other than parsing JSON by hand.