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


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

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

EF中Enum的使用有兩種:

① 通過EDM設計器將實體中的某一屬性轉換為枚舉類型

② 使用已存在的枚舉

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

一個栗子:

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

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

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

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

                    

 

 這時我們就可以在代碼中使用枚舉類型了:

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系列教程匯總


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM