如何在网站应用程序和数据库之间共享枚举?例如,如果我有 TYPE
表格如下:
id |姓名
1 类型1
2 类型2
和一个枚举:
enum Type {
type1 = 1,
type2 = 2
}
是否有一种方法可以自动链接两者,例如当数据库为空时,应用程序应该添加这两行,以便应用程序中使用的枚举与数据库中使用的类型相匹配。我想这样做是因为在数据库中, product
可能是 furniture
类型(因此 type_id
的 product
引用表 furniture
中的类型 TYPE
)但我也希望能够执行类似的操作
if (type === Type.furniture) {
// ...
}
直接来自应用程序逻辑(例如根据类型更改前端)。 这是一个很常见的问题,那么您将如何解决它呢?除了手动确保两者匹配之外,还有其他方法吗?
最佳答案
您是否使用某种 ORM?如果是,是代码优先方法还是数据库优先方法?
我知道您可以使用 C# + EFcore 来做类似的事情。您必须使用模型构建器的 HasData() 方法。实现您的目标的工作流程是:获取枚举的所有成员并用它们填充数据库表。如果您不使用 EFcore 和 C#,我想您可以采用类似的方法来解决您的问题,找到 ORM 的适当播种方法以及提取枚举的所有成员的适当方法。 对于问题的第二部分,您将需要直接编辑存储枚举的文件。
关于javascript - 如何在数据库和应用程序之间共享枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56061671/