2010-07-27 135 views
3

有沒有一種方法可以將生成的實體映射到枚舉?實體框架實體中枚舉類型的屬性?

而且我的意思很簡單:

class Person 
{ 
    RelationshipStaus RelationshipStatus { get; set; } 
} 

enum RelationshipStatus : byte 
{ 
    Single, 
    Married, 
    Divorced 
} 

酒店RelationshipStatus在DB是一個簡單的字節,我想在我的項目應該是一個枚舉。

+0

EF6現在支持枚舉映射。 – 2014-12-03 12:15:11

回答

4

不幸的是,你不能,至少不能直接。爲方便起見,您可以創建一個值轉換爲從枚舉類型的訪問:

public int RelationshipStatusInt { get; set; } 

public RelationshipStatus RelationshipStatus 
{ 
    get { return (RelationshipStatus)RelationshipStatusInt; } 
    set { RelationshipStatusInt = (int)value; } 
} 

然而,你將無法使用,在LINQ的屬性EF查詢,因爲它不會被映射到一個數據庫列(但您可以在Linq中使用它來查詢對象)。

另一種解決方案是描述here,但感覺有點彆扭......