C# MySql 在数据库中存储数组列表

本文关键字:存储 数组 列表 数据库 MySql | 更新日期: 2023-09-27 17:55:08

我有一个mysql数据库,我在其中存储了一个项目的详细信息。其中一个细节是与项目相关的工作人员。在项目表中,我有一列用于项目中的工作人员。在我的 c# 代码中,我将其存储在数组列表中。我想知道有没有办法将该数组列表存储在数据库的单个列中?

谢谢

C# MySql 在数据库中存储数组列表

不应在单个列中存储一堆实体。

您最好创建另一个表,并通过关系表将第一个表与第二个表链接起来。

TableA: id | name
TableB: id | bla
TableRelations: tableA_id | tableB_id

它被称为many-to-many关系(N:M作为速记)

来自谷歌的第一个随机链接与多对多相关

通常,在列中存储多个值表明数据库设计不佳。这使得根据该单个列中的条件有效地选择行变得非常困难。话虽如此,如果您真的只需要在每行的基础上选择这些值,请考虑使用 XML

将 XML 与 MySQL 结合使用

我认为您当然应该遵循多对多的概念,就像@zerkms所指出的那样。但是,如果您确实有兴趣将ArrayList保存到单个字段中,则可以将此ArrayList序列化为String并存储在VARCHAR字段中

关于将 ArrayList 序列化为字符串,可以在本主题中查看一些建议的方法:使用 c# 代码隐藏动态创建 JavaScript 数组。

请记住,在读回应用程序时也需要反序列化