Object Serialization as Step Towards Normalization
ServiceStack.OrmLite refers to this as a "text blob" and it is by default how it handles complex data inside a table POCO. So, this is a trivial way to proceed with new data.
For example, we may have a database of food products and now we will be ingesting "Nutrition Facts" per item. Inserting a record as follows:
db.Insert( new FoodItem { Name = "Oatmeal", NutritionFacts = new NutritionFacts { ServingSize = 1, ServingSizeUnits = "cup", Calories = 158, TotalFat = 3.2m } });
Would yield a record with NutritionFacts serialized as compact JSON.
If, in the future, we need to query data we can use a database migration to transform it to a more normalized format. In some cases the POCO may not change much. We can take advantage of ServiceStack.OrmLite's [References] and [ForeignKey] relational attributes to read entities from the more normalized database.