【发布时间】:2019-05-02 03:43:20
【问题描述】:
我对 EF7 RC1 (EFCore) 有疑问。我无法在我的模型中使用枚举。我可以保存枚举属性。该值被强制转换为 int。我的问题是,在读取数据期间,我得到了无效的强制转换异常。
- EF7 是否支持枚举属性?
- 如何使用 fluent api 进行配置?
谢谢
编辑:
枚举:
public enum LimitMode
{
Max,
Min,
MaxAndMin,
}
型号:
public class SomeModel
{
(..)
public LimitMode LimitMode {get; set;}
}
SomeModel 的模型构建器:
modelBuilder.Entity<SomeModel>(entity => {
(...)
entity.Property(p => p.LimitMode);
})
【问题讨论】:
-
尝试明确地说枚举是一个 int
public enum LimitMode : int并给枚举的成员一个值 (Max = 0, ...) -
我试过这个。不幸的是,它不起作用。仍然收到无效的强制转换异常:/
-
奇怪,在 EF6 中它可以完美运行。 EF7 尚未完全发布,因此它可能仍然是一个错误,或者您的数据库中有未连接到任何枚举的值。如果您的枚举值为 1-3,并且您的数据库中存储了 4,我想您会收到该错误。
标签: entity-framework entity-framework-core