2017-05-15 20 views
1

我有類枚舉:實體框架和枚舉與標誌沒有被映射到數據庫

[Flags] 
    public enum FlyerStatus 
    { 
     None = 0, 
     Deleted = 1 << 0, 
     Validated = 1 << 1, 
     Active = 1 << 2 
    } 

沒有在Fluent.API或數據註釋配置。

當我添加遷移或automigrations啓用該屬性不映射到數據庫。該列不存在。沒有錯誤或不適合。到底是怎麼回事?

public FlyerStatus Status; 
+1

你確定這個問題是枚舉,而不是因爲你的'Status'是一個*字段*而不是*屬性*(你忘記了get/set)? –

+0

@IvanStoev還說,你使用的Entity Framework的*版本*是什麼? EF5在枚舉方面存在一些問題(如果我記得正確的話)並且它們沒有正確映射。 (我相信你必須創建一個映射到DB的'int'列,然後在枚舉屬性中解析它。) –

回答

0

有了最新的版本中,如果註釋是這樣的屬性,它會被映射到實體框架/數據庫int列:

[EnumDataType(typeof(FlyerStatus))] 
public FlyerStatus Status { get; set; }