2014年12月5日 星期五

[Entity Framework] 如何在Database Designer把一個int欄位轉成Enum形態 (Entity Framework Convert int to Enum)

前言

enum其實內部儲存的形態還是int,所以任何一個int都可以直接cast成為某一個enum type,這樣就可以用那個enum的形態來操作這些值,在撰寫和閱讀程式上面就會變得比較乾淨和一目了然。

Entity Framework在Code First模式下要定義一個enum非常的簡單,只需要把type設定成為那個enum,Entity Framework就會聰明到把DB的對應欄位開成int,並且儲存和讀取的時候幫忙自動轉換。

但是當使用Database First模式的時候,因為Designer從DB讀取回來只會把int當做int,因此要他自動產出enum是需要做一些設定。

這一篇將會介紹把int轉成enum如何做到,並且需要注意那些地方。