我有一个mysql数据库,我在其中存储项目的详细信息。其中一个细节是与项目相关的员工。在项目表中,我有一个项目人员专栏。在我的c#代码背后,我将它存储在arraylist中。我想知道有没有办法将该arraylist存储在数据库的单个列中?
由于
答案 0 :(得分:1)
您不应将一堆实体存储在一列中。
您最好创建另一个表,并通过关系表将第一个表与第二个表链接起来。
TableA: id | name
TableB: id | bla
TableRelations: tableA_id | tableB_id
它被称为many-to-many
关系(N:M
作为速记)
答案 1 :(得分:0)
通常在列中存储多个值表示数据库设计不佳。这使得根据该单个列中的条件有效地选择行非常困难。话虽如此,如果您真的只需要按行选择这些值,那么请考虑使用XML
答案 2 :(得分:0)
我认为你应该遵循多对多的概念,就像@zerkms指出的那样。但是,如果您真的有兴趣将ArrayList
保存到单个字段,则可以将此ArrayList
序列化为String
并存储在{{} 1}}字段。
关于将ArrayList序列化为字符串,您可以在此主题中查看一些建议的方法:Dynamically create javascript array with c# code behind。
请记住,在阅读应用程序时,您还需要反序列化。