设计此方法的最佳做法:在c#中枚举或单独的数据库表

时间:2015-01-31 19:20:42

标签: c# database-design database-schema

我在表中创建记录,一列名为TYPE。我以编程方式循环遍历c#中的枚举并创建此行。枚举包含各种类型的东西,例如

  • 平面
  • ...

重要的是,这种类型绑定到一个逻辑。一个我的问题:

我应该如上所述将这些类型放在枚举中,还是最好将它们放在一个单独的表中以形成规范化形式。

你更喜欢什么?

1 个答案:

答案 0 :(得分:0)

取决于两件事:

  • 值是否不稳定? 1
  • 您是否需要附加其他信息? 2

如果对上述任何问题的回答是"是",那么使用专用的查找表可能是个好主意。否则,在整个系统中众所周知且记录良好的常量枚举值 3 都可以。

关键是:不要盲目地使用查找表,有时会建议。他们当然有自己的位置,但也有一些情况,他们应该使用。


1 现有值可以更改或删除,也可以添加新值。

2 例如人类可读(并且可能是可本地化的)名称或描述,或某种方式从数据库的内容驱动逻辑而不是硬编码。

3 通常是简单的整数。如果你发现自己需要使用字符串,这可能意味着你应该回答"是"问题(2)。