1

我在数据库 (SQL) 上有一些查找表,这些查找表是为了参照完整性而存在的。这些相同的表在代码中使用枚举表示,因为它周围有业务逻辑。当本地化成为问题时,会向每个实体添加一个本地化表(包含可本地化的字段)。现在正在翻译枚举(通过资源文件),但每个查找表也存在一个本地化表。

我希望得到一些关于如何建模这个枚举/查找表关系的建议,记住(实体框架5)“查找表”现在有关联的子表,但目的是仍然保留枚举编码..

4

1 回答 1

0

[房屋清洁工作] 从那以后我处理这个问题的方式一直是

如果枚举不驱动任何业务决策,我通常没有枚举。

如果它是一个驱动某种业务决策的枚举,我通常将其设为标志枚举,并且数据库条目将包含标志枚举值。通常有一个实际的查找表,其中这些值与标签配对,有时还有额外的元数据。

然后,我将使用某种缓存机制预先(或延迟)加载这些查找表,以便将所述枚举转换为 UI 中的适当标签。

当我有某种元数据时,我要么创建一个包含与枚举相关联的所有数据的类,要么创建一个静态类,其中包含负责提取所述元数据的枚举的扩展方法。

前任:

枚举数字 { 一、二、三 }

Number.One.GetLabel(); Number.One.IsEven()

可能会保留一个静态字段,在第一次检索后缓存该信息。

于 2020-11-19T20:01:10.127 回答