Entity Framework之Database First生成模式

連江偉發表於2015-02-27

        眾所周知,Entity Framework自4.x版本之後,開始支援Database First、Model First、Code First三種生成模式,在上一篇部落格中,我們一起了解了其中的Code First(也有叫做CodeOnly的)模式,相比較而言Code First是一種比較先進的技術,我們只需寫程式碼即可。這一次我們回過頭去看看,EF框架中個人認為最簡單的模式,那就是Database First。

        顧名思義,DatabaseFirst就是圍繞資料庫為中心的開發方式,使用這種模式我們必須要先設計和建立資料庫,然後使用VS在已有資料庫的基礎上建立ADO.NET實體資料模型,之後就可以在程式設計的過程中使用EF訪問和運算元據庫裡的資料了,具體的如何使用,下面來看一個很簡單的例子。

        一,首先我們要建立一個示例資料庫,因為這不是我們討論的重點,所以筆者就直接從已有的資料庫中找一個用來作為例子,如下圖

    

        二,接下來開啟VS2012,按照下圖的步驟建立edmx檔案,

        


        三,寫測試程式碼,我們以插入資料為例,向StudentInfo表中新增一條記錄,程式碼如下

<span style="font-size:18px;">namespace Database_First
{
    class Program
    {
        static void Main(string[] args)
        {
            //建立資料庫訪問閘道器
            using (DBExamEntities1 examentity =new DBExamEntities1 ())
            {

                //建立StudentInfo一個實體
                T_StudentInfo  student = new T_StudentInfo ();
                student.StudentNo = "110";
                student.StudentName = "李尋歡";
                student.Sex = "男";
                student.Grade = "大學一年級";
                student.Age = "21";
                //將建立的實體,放入閘道器的資料實體的集合
                examentity.T_StudentInfo.Add(student);
                //寫回資料庫
               examentity.SaveChanges();
            }
            Console.WriteLine("OK");
        }
    }
}</span>

        執行程式之後,在資料庫中檢視是否插入成功,如下圖所示,成功插入資料

        

        小結:母庸質疑,EntityFramework是一個非常便利和強大的ORM框架,而Database First又是三種模式中比較簡便的開發方式,這種模式的最大好處是可以複用資料庫,在有資料庫的前提下,開發效率是槓槓的。

相關文章