如何在网站应用程序和数据库之间共享枚举?例如,如果我有这样的TYPE
表:
id |名称
1 type1
2 type2
和枚举:
enum Type {
type1 = 1,
type2 = 2
}
是否可以自动链接这两者,例如,当数据库为空时,应用程序应添加这两个行,以便应用程序中使用的枚举与DB中使用的类型匹配。我想这样做是因为在DB中,product
可能是furniture
类型(因此product
的type_id
引用了表TYPE
中的类型furniture
(,但我也希望能够做
if (type === Type.furniture) {
// ...
}
直接从应用程序逻辑(例如,根据类型更改前端(。这是一个非常普遍的问题,那么您将如何管理?除了手动确保两种匹配之外,还有其他方法吗?
您是否使用某种ORM?如果是,它是代码优先的方法还是数据库优点方法?
我知道您可以使用C# efcore做类似的事情。您必须使用ModelBuilder的Hasdata((方法。实现目标的工作流程将是:获取枚举的所有成员并与他们一起填充数据库表。如果您不使用EFCORE和C#,我想您可以通过找到ORM的适当播种方法以及提取枚举的所有成员的适当方法来遵循类似的方法。对于问题的第二部分,您需要直接编辑存储枚举的文件。