在我的代码中的某个时刻,我正在创建一个类型为Dictionary<string, string>
的字典,我想知道在将数据转换为字符串然后再返回到数据库中的最佳方法是什么字典。
感谢。
答案 0 :(得分:4)
这里有很多选择。
您可以使用规范化路线并使用带有键/值对列的单独表格。
某些数据库为您提供与您需要的数据类型相似的数据类型。 PostgreSQL有hstore
类型,您可以在其中保存任何键值对,MS SQL具有XML数据类型,可以在插入之前对数据进行一些简单的按摩。
权衡如下:
“document oriented”的NoSQL数据库完全是指这种类型的存储。根据您的工作,您可能希望查看一些选项。 MongoDB是一个受欢迎的选择。
正确的选择取决于数据的查询模式和其他非功能性问题,如数据库支持等。如果扩展您需要实现的功能,我可以扩展我的答案。
答案 1 :(得分:3)
如果您确实希望将完整字典存储为单个字符串,则可以将字典序列化为JSON(或XML)并将结果存储到数据库中。
答案 2 :(得分:1)
这里有几个选项。您可以将对象序列化为XML,或者将JSON序列化为@ M4N。您还可以创建一个至少包含两列的表:一列用于键,一列用于值。
这实际上取决于您的域模型的外观以及您需要如何管理数据。如果字典值或键改变(IE重命名,校正等),并且需要反映在依赖于数据的许多对象上,那么为该映射直接创建一种查找表可能是最好的。否则,序列化数据将是性能最佳的选项之一。