希望这个简短而容易。我正在写一些 c# 的东西,我已经达到了一个轮子被发明了一百万次的地方,但我不确定要使用哪个。首先,规则:
- 有 CharacterClasses 和 Skills
- 这些中的每一个在从 CSV 加载的 DataSet 中都有一个 DataTable
- 每个 CharacterClass 包含多个技能
- 每个技能可能出现在多个 CharacterClasses 中
我的选择似乎是:
A. 创建一个字段,该字段是每个技能中 CharacterClassID 的列表。这会变得非常糟糕,并且以后很难编辑我的 CharacterClasses 以保持平衡。我需要遍历列表才能创建字符或编辑它们。
B. 在 CharacterClasses 中创建一个包含 SkillID 列表的字段。这将使更新技能难以平衡,并且再次导致巨大的 blob 字段。同样,我还必须遍历一个列表,但这次它是在我 CONTAINS 查询技能表的 CCID 字段时创建的。
C. 在运行时创建一个帮助表,其中包含 SkillID 和 CharacterClassID 作为匹配项,但是如何?
从设计的角度来看,C 似乎是最明智的,但我不知道如何到达那里。DB Design 一直是我的绊脚石。我的大脑正在处理编码器的块,我无法完全理解如何在不创建第三个配置文件(我不想这样做)的情况下创建包含 CharacterClassID 和 SkillID 的 Helper 表。有输入吗?我对这一切都错了吗?