2016-05-29 105 views
1

我在我的域模型中使用Jimmy Bogard的基于this文章的枚举类。然而,EF将这些类视为实体并希望定义一个键。使用枚举类在EF

有没有办法让EF存储枚举类的值,就像它使用标准C#枚举一样?

这是怎么了我目前实现的枚举类:

public class ReservationStatus : Enumeration 
{ 
    public static readonly ReservationStatus Outstanding = new ReservationStatus(0, "Oustanding"); 
    public static readonly ReservationStatus Paid = new ReservationStatus(1, "Paid"); 
    public static readonly ReservationStatus Canceled = new ReservationStatus(2, "Canceled"); 
    public static readonly ReservationStatus Rejected = new ReservationStatus(3, "Rejected"); 

    private ReservationStatus() { } 
    private ReservationStatus(int value, string displayName) : base(value, displayName) { } 
} 

public class Reservation : Entity<int> 
{ 
    public ReservationStatus Status { get; set; } 
} 

我使用EF 7 RC1。

+0

你尝试标记为'[key]''public ReservationStatus Status {get;组; }'? –

回答

1

在EF6中,您可以将您的ReservationClass配置为ComplexType,忽略DisplayName属性和地图Value属性。

不幸的是你,根据these design meeting notes

在EF7的初始RTM我们规划,使复杂和/或类型。

换句话说,你不能在当前的EF Core中做到这一点。

+0

看来他们根据[他们的路线图](https://github.com/aspnet/EntityFramework/wiki/Roadmap)和[这篇文章](https://github.com/aspnet/) EntityFramework/issues/246),但它们还没有发布日期。 –