用户可以更改您的枚举列表

时间:2015-03-19 18:05:44

标签: c# .net entity-framework ef-code-first

作为开发人员,我相信能够为用户提供支持。一种简单的方法是允许某些用户改变查找表。我一直在数据库第一个模型上开发,但我正在开始一个新项目,我将首先尝试代码。

我知道您可以在EF 5+中为您的实体启用枚举。但是,根据我的阅读,所有的枚举都在代码中分配。我的问题是如果我有一个Enum GenericTemperature 冷,1 很热,2 室温,3

然后3个月过去,用户想要添加

温暖,4 很酷,5

在数据库第一种方法中,我使用类似的解决方案 https://stackoverflow.com/a/2636204/2120857 处理我的枚举更新,它很棒。但是,对于我认为代码优先项目而言,这似乎有点愚蠢。

最重要的是,我通常会跟踪数据库上的所有编辑,并包含字段CreatedBy,CreatedDate,ModifiedBy,ModifiedDate和(datetime)Inactive 跟踪类型的变化和可能的不活动。

  1. 是否可以让用户更改枚举?

  2. 我是否缺少某些东西,或者这个功能不在EF Codefirst中,我需要使用我的t4解决方案吗?

2 个答案:

答案 0 :(得分:0)

枚举实际上只是一种明确定义的方法,允许.NET开发人员指定他们想要调用的方法或类的行为。它们不是作为一个无限制的集合,由数据库的最终用户填充。

答案 1 :(得分:0)

您应该使用Dictionary(System.Collections.Generic.Dictionary),使用该类型的集合添加和获取数据非常容易。

您可以将其保存在带序列化的文件中或数据库中。