C#Enums vs数据驱动列表

adm*_*xon 3 c# oop enums design-patterns

我试图找出最好的方法来设计我的枚举.假设我有一个类和枚举:

public enum ActionType
{
    Acceptable = 1,
    Unacceptable = 2,
    PendingReview = 3        
}
public class Report
{
    public ActionType Action { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

假设我还有一个存储不同动作类型的数据库表:

Id     Action
1      Acceptable
2      Unacceptable
3      PendingReview
Run Code Online (Sandbox Code Playgroud)

如果我想在以后添加其他类型的操作,我将不得不更新枚举并重新部署程序集.但我喜欢枚举减少错误,使代码更易于阅读以及保证向前兼容性的方式.什么是一种有效的方式来处理新的动作类型?

谢谢!

Not*_*tMe 5

如果该值表示程序流程发生了变化,您将希望它保留为枚举.只需将数值存储在表字段中即可.

如果该值不改变程序流程,那么使用查找表从数据库中提取潜在值是一种更好的方法.

这听起来像是你的第一类.此时,您必须在添加选项时部署代码,以便应用程序知道如何处理新选项.