我有一个实体模型,它具有枚举类型的属性,并且数据库列中的值是字符串。
从
DbContext
读取数据时出现此异常:
未找到请求的值“PointSync”。
当 Enum(ConfigurationType)
中不存在 db 值时,就会发生这种情况。该数据库并非专门用于我的项目。它是遗留应用程序的大型数据库,有时其他应用程序会插入新值。我使用枚举来保持代码干净(异常实际上是在提醒我们有关更改的信息),但我希望收到类似“UnknownConfig”的内容,而不是获得强制转换异常。
这是我的模型课:
public class Configuration
{
public int ConfigurationId { get; set; }
[Required]
public ConfigurationType Type { get; set; }
[Required]
public DateTime LastChange { get; set; }
[Required]
public bool Active { get; set; }
}
枚举看起来像这样:
public enum ConfigurationType
{
Search,
Mailing,
}
我没有找到为枚举设置默认值的方法。