|
|
1
5
除了这里给出的解决方案之外,始终有可能对所有查找外键使用完全无意义的标识,但也有一个列将查找链接到业务逻辑的枚举值:
在这种情况下,逻辑是由用户提供的,而不是由用户更改的。新的查找甚至可以路由到使用任何现有的逻辑规则-因此您可以使用不同的设置,这些设置的行为与现有的硬编码业务规则相同,但显示方式不同。 |
|
|
2
3
为什么不用两张桌子呢?一个表保存您为其编码的枚举值。另一个处理所有用户可配置的项。 除非是这样,否则您也将基于客户端输入的值创建新的枚举。如果是这样的话,为什么不将主键迁移到guid,并使用带有静态字符串成员的静态类(类似于虚拟枚举)。那么您就不必担心惟一性了,因为guid很难复制,除非您是故意这样做的。 我们使用guid psuedo enum方法,因为我们必须维护同一数据库的多个副本,它们很容易失去同步。guid在这方面有帮助。 |
|
3
2
1)为客户端分配一个大于应用程序所需值的范围,例如1000000。添加一个触发器以强制只允许该范围以上的新值。 2)使用auto increment并从数据库的本地副本生成枚举。 |
|
|
4
1
根据米奇的回答: 您可以在identity列中植入较大的值,并且在用预定的标识填充表时,可以将identity insert设置为on。
|
|
|
5
1
老实说,这听起来像是一个服务于两个不同需求的问题。 我将它分为两个表,类似于applicationlookups和customlookups,然后从代码和db的角度对它们进行不同的处理是很直观的。 |