Is it bad practice to have a string like ‘name=Gina;postion= HouseMatriarch;id=1234’ to hold state data in an application.I know that I could just as well have a struct , class or hashtable to hold this info.
Is it acceptable practice to hold delimited key/value pairs in a database field– just for use in where the data type is not known at design time.
Thanks…I am just trying to insure that I maintain good design practices
Yes, holding your data in a string like ‘name=Gina;postion= HouseMatriarch;id=1234’ is very bad practice. This data structure should be stored in structs or objects, because it is hard to access, validate and process the data in a string. It will take you much more time to write the code to parse your string to get at your data than just using the language structures of C#.
I would also advise against storing key/value pairs in database fields if the other option is just adding columns for those fields. If you don’t know the type of your data at design time, you are probably not doing the design right. How will you be able to build an application when you don’t know what data types your fields will have to hold? Or perhaps you should elaborate on the context of the application to make the intent clearer. It is not all black and white 🙂