将 Entity Framework Core 8 中的字符串列值映射到枚举的异常

问题描述 投票:0回答:1

我有一个实体模型,它具有枚举类型的属性,并且数据库列中的值是字符串。

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, }

我没有找到为枚举设置默认值的方法。

c# entity-framework-core enums casting orm
1个回答
0
投票
DefaultValue

设置 ENUM 的默认值。希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.