2016-10-01 40 views
3

我有一個類,和類似的屬性。我在Mysql中使用實體框架。 遷移後使用add-migration,它將創建一個INT(11)列。 但我需要VARCHAR因爲我需要Dept或Credit值。枚舉到實體框架的字符串

我嘗試了很多,但沒有。

我該怎麼辦?

public class trns 
{ 
    public trans_type enm_trans_type { get; set; } 
} 

public enum trans_type { 
    [Description("Dept")] 
    Dept, 
    [Description("Credit")] 
    Credit 
} 
+0

它將通過使用CodeFirst,您將需要下面的反向版本http://stackoverflow.com/questions/7437952/map-string-column-in-entity-framework-to-enum一篇好文章將是http://nodogmablog.bryanhogan.net/2014/11/saving-enums-as-strings-with-entity-framework/ –

+0

是的,這是正確的。 http://nodogmablog.bryanhogan.net/2014/11/saving-enums-as-strings-with-entity-framework/ – caras

回答

1

您的枚舉基於整數值,EF將在場景後面創建一個int列來存儲枚舉的值。最好將enumn的int值存儲在數據庫中,而不是其描述和使用查找表。然後你可以簡單地使用單個連接來獲取它們的描述。 您可以通過Tim Abell使用ef-enum-to-lookup