在db - C#中存储静态数据是否合适?

Sal*_*leh 2 c# datagridview sql-server-2008

我有这个问题,我不知道什么是最好的解决方案.

我有一个名为Employees的表,并且有一个名为LastWork的列,此列应该只有我选择的自定义值,例如:

value 1
value 2
Run Code Online (Sandbox Code Playgroud)

我希望用户从ComboBox控件中选择值,所以我有2个想法,但我不知道它最适合它.

A - 将这些值作为Items属性中的字符串添加到Combobox,并将它们作为字符串存储在DB中.

B - 在我的数据库中创建单独的表,例如'LastWork',带有2列'LastWorkID','LastWorkName'并在其中插入我的值,然后我可以添加绑定源控件,我可以使用数据绑定项来存储id在我的主表中作为整数显示用户的LastWorkName.

我更喜欢使用B方法,因为在某些形式中我有带编辑权限的DataGridView控件,我想在其中显示Combobox而不是Textbox来从这些自定义值中进行选择.

我希望你理解我的问题.

a C*_*CVn 5

通常数据规范化是一件好事,所以我也会选择B.

通过具有单独的表和外键关系,您可以强制执行数据完整性; 轻松获取所有可用(不仅仅是所有选定)选项的列表; 有一个地方可以更改选项的文本(例如,如果有人决定将其称为"值1"而不是"值1",那该怎么办?); 等等等等.

这些可能不是一个小应用程序的巨大好处,只有两个可能的选项,但我们都知道应用程序往往会随着时间的推移而扩大范围.