存储常用数据库表ID的最佳方法是什么?

Nul*_*nce 2 .net c# sql-server

存储经常使用的数据库表ID的最佳方法是什么?

例如,您有一个存储记录状态的表,例如活动已删除,已清除等.您要创建新的用户记录,并且需要设置RecordStatusID,您将在哪里获取该数据?做数据库通话?

我见过开发人员创建了与表int ID匹配的枚举,但我不认为这是最好的方法.

svi*_*ick 5

如果您的应用程序逻辑依赖于这些值,那么更改表意味着更改代码,我更喜欢创建镜像表的枚举.

这样做会创建可读代码而不需要包含拼写错误的魔术字符串(尽管在枚举定义中用魔术数字替换它们).并且代码是高效的,没有不必要的查询.

  • 我也使用过这种方法很多,发现它很好用.我遇到的唯一问题是如果使用id的标识列将数据迁移到新数据库 - 易于解决(例如设置identityinsert),但如果忘记了可能会有问题. (2认同)