gpt4 book ai didi

c# - 在数据库中存储 Dictionary

转载 作者:行者123 更新时间:2023-11-30 13:57:25 27 4
gpt4 key购买 nike

在我的代码中,我正在创建一个 Dictionary<string, string> 类型的字典。我想知道在将其转换为字符串然后再返回字典方面,将其存储在数据库中的最佳方式是什么。

谢谢。

最佳答案

这里有很多选项。

  • 您可以采用规范化路线并使用带有键/值对列的单独表。

  • 一些数据库为您提供与您需要的数据类型相似的数据类型。 PostgreSQL 有一个 hstore 类型,您可以在其中保存任何键值对,而 MS SQL 有一个 XML 数据类型,可以在插入前对数据进行一些简单的处理。

  • 如果没有此类特定于数据库的帮助,您可以仅使用 TEXT 或 BLOB 列并使用 DB 友好格式(例如 JSON、XML 或特定于语言的序列化格式)序列化您的字典。

权衡如下:

  • 包含键/值列的单独表会导致查询成本高昂,并且通常是 PITA,但您可以获得最大的查询灵 active 并且可以跨数据库移植。
  • 如果您使用数据库支持的字典类型,您将获得查询支持(即“选择字典中存储的属性与特定条件匹配的行”)。否则,您只能在程序中选择所有内容并进行过滤,但是
  • 你失去了数据库的可移植性,除非你编写一个中间层来抽象它,并且你在代码中失去了数据操作的便利性(因为事情“工作”就像你的数据库中有一个包含这些数据的列)。<

document oriented”的 NoSQL 数据库正是用于这种类型的存储。根据您正在做的事情,您可能需要查看一些选项。 MongoDB 是一个流行的选择。

正确的选择取决于数据的查询模式和其他非功能性问题,例如数据库支持等。如果您扩展需要实现的功能,我可以扩展我的答案。

关于c# - 在数据库中存储 Dictionary<string, string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21052318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com