c# - 同步参照完整性表和枚举

标签 c# database enums referential-integrity

我时常思考这个问题,所以我想问问你们。

假设我有一个如下所示的数据库表:

Table: Visibility
Id   Value
--   -----
 0   Visible
 1   Invisible
 2   Collapsed

这只是一个确保参照完整性的表格。它基本上是一个存储在数据库中的枚举,用于确保出现在其他表中的任何可见性值始终有效。

在我的前端,我有一些选择。

  1. 我可以查询此表并将其存储在一个 Dictionary<string, int> 中或 Dictionary<int, string> .
  2. 我可以手动编写一个枚举,然后在表发生更改的罕见情况下手动编辑值。例如,

    public enum Visiblity { Visible, Invisible, Collapsed }

  3. 还有别的吗????

您会建议哪一个,为什么?

谢谢。

最佳答案

对于像这样相当琐碎的事情,我通常会使用枚举。在我觉得这并不完全正确的意义上,我可以认同你...但在我看来,这是两害相权取其轻。

一些额外的理由:如果出于某种原因要添加第四个值,您的代码无论如何都需要更新才能处理它。当您这样做时,更新枚举也很容易。

关于c# - 同步参照完整性表和枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1167927/

相关文章:

c# - 支持和反对从 SQL Server 迁移到 MongoDB 的原因

c# - 奇怪的 "Collection was modified after the enumerator was instantiated"异常

mysql - 体育/游戏结果应用程序中的硬删除与软删除

c++ - Visual Studio 11(测试版)中的强类型枚举类

c++ - 如何将枚举模板映射到类型模板?

c# - 自定义数据模型 setter

c# - 如何在 WPF 中设置复选框的初始状态(在 XAML 或代码中)?

c# - Unity如何从不同的对象引用一个对象

database - SWI-Prolog 列表和递归

sql - rails : Purchases vs Orders