You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设计Azure上的MSSQL数据库以处理C#程序中的数组数据?

Azure 工件数据存储表结构设计

适配需求的设计思路

针对你的场景,用主表+子表的关系型结构最适合——既解决数组存储的核心问题,又匹配你现有的Azure基础增删改查能力,同时预留足够的扩展空间。

具体表结构

1. 工件主表(Articles)

存储工件的核心基础信息,作为唯一标识的主表:

字段名数据类型关键说明
ArticleIdINT主键(自增),工件唯一ID
ArticleNameNVARCHAR(100)工件名称,加唯一约束防重复
TypeINT工件类型
LengthINT工件长度
CreatedTimeDATETIME2创建时间(可选,用于溯源)

提示:ArticleId是关联子表的核心,必须设为主键;ArticleName加唯一约束,避免同名称工件重复创建

2. 工件参数子表(ArticleParameters)

因为Tool和Position是一一对应的成对数据,把它们放在同一张子表,同时保留数组的原始顺序:

字段名数据类型关键说明
ParameterIdINT主键(自增)
ArticleIdINT外键,关联主表的ArticleId
ToolINT原Tool数组的单个元素
PositionFLOAT原Position数组的对应元素
SequenceINT元素在原数组中的顺序索引(从1开始)

提示:Sequence字段用来还原数组的原始顺序,加载数据时按它排序就能得到和原List完全一致的顺序

C#代码适配步骤

  1. 数据结构调整:把原数组改成List<int> Tool和List<double> Position,方便遍历操作
  2. 写入数据:
    • 先插入主表Articles,获取自动生成的ArticleId
    • 遍历两个List,按顺序将每一组Tool、Position、Sequence(从1开始计数)和ArticleId插入子表
  3. 查询数据:
    • HMI加载列表时,只查询主表的ArticleName和Length,快速返回结果
    • 用户选择工件后,根据ArticleId查询子表,按Sequence排序,把Tool和Position分别收集成List

扩展兼容性说明

  • 后续要新增工件属性?直接在主表添加字段即可
  • 要新增和Tool/Position关联的参数?直接在子表添加字段即可
  • 支持各类查询需求:按工件类型筛选、按长度范围查找、甚至按某个Tool值或Position区间检索,完全不限制后续扩展

内容的提问来源于stack exchange,提问作者Hans-Erik Strömberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:14:52