Entity Framework入門教程(16)---Enum

EF DbFirst模式中的枚舉類型使用

這一節介紹EF DbFirst模式中的Enum(枚舉類型),CodeFirst模式中的Enum會在之後的EF CoreFirst系列中介紹。EF5中添加了對Enum的支持。如今Enum支持的數據類型有:Int16,int32,int63,byte,sbyte。html

EF中Enum的使用有兩種:數據庫

① 經過EDM設計器將實體中的某一屬性轉換爲枚舉類型瀏覽器

② 使用已存在的枚舉post

1.經過EDM設計器將實體中的某一屬性轉換爲枚舉類型

一個栗子:spa

咱們將把Teacher表的TeacherType列轉換爲枚舉類型。在TeacherType中1表示permanent teachers類型,2表示contractor teachers類型,3表示guest teachers類型。設計

實現方法:在Teacher的TeacherType屬性上點擊右鍵,選擇Convert to Enum,以下圖code

這時會彈出Add Enum Type會話框,將Underlying Type設置爲int32(和數據庫中類型對應),添加枚舉成員以下圖所示htm

點擊Ok後打開模型瀏覽器發現在Enum Type文件夾下多了TeacherType,Teacher模型中的TeacherType也變成了TeacherType。blog

                    

 

 這時咱們就能夠在代碼中使用枚舉類型了:教程

using (var ctx = new SchoolDBEntities())
{
    Teacher tchr = new Teacher();
    tchr.TeacherName = "New Teacher";

    //指定枚舉類型
    tchr.TeacherType = TeacherType.Permanent;

    ctx.Teachers.Add(tchr);
    ctx.SaveChanges();
}

2.使用已存在的枚舉

若是咱們已經有了一個枚舉類型,咱們能夠把任意一個實體的屬性的數據類型指定爲這個枚舉類型。

實現方法:在模型設計器中右鍵->Add New->Enum Type->填入枚舉的名字(不用添加成員,由於咱們在代碼中已經有了枚舉的成員),選擇 Refernce external type ,填入枚舉的命名空間,點擊Ok就能夠了。這時模型瀏覽器的Enum Type文件夾中就有了咱們添加的枚舉。咱們能夠把這個枚舉指定給任意實體的任意屬性。

EF系列目錄連接:Entity Franmework系列教程彙總

相關文章
相關標籤/搜索