在資料庫已存在的狀況下,建立EF Code First 模型

  • 1459
  • 0
  • 2016-03-05

在接觸過Entity Framework之後,應該都知道有DB First、Code First,通常在資料庫已存在的狀況下就會用DB First,而如果沒有的話則會用Code First。大部分的狀況都是資料庫已存在的狀況,但如果這時候還要用Code First的話呢?那就繼續看下去吧。

其實要達到這個目的,目前有一些工具可以達到,這次就先介紹EntityFramework Reverse POCO Code First Generator這款工具。

首先,要先下載 VSIX installer安裝

接著新增一個專案來試試看,這邊以主控台應用程式為例,然後因為要Code First,所以透過NuGet安裝Entity Framework,要記得裝完先建置一下專案。

然後設定一下已存在的資料庫的連線(這邊我是直接用本地的北風資料庫)。


 

接著對專案新增一個新項目(EntityFramework Reverse POCO Code First Generator),新增後就會看到專案內多了三個檔案。這時候如果展開Database1.tt的話,會發現底下還有一個Database1.cs。此時如果把Database1.cs打開或者是展開的話,就會看到一些資料表的名稱出現在裡面。不過這時候如果把專案關掉的話,這三個檔案就會不見,所以記得在做這段處理的時候要一氣呵成,不然就要再重新新增一遍。

然後我們便可以透過剛剛所轉出來的檔案產生Code First的程式。只要打開Database1.tt,然後找到GenerateSeparateFiles屬性,把它從false改成true再按下存檔就可以了。

存檔後會發現到原先的Database1.tt底下的檔案都已經改變,此時就已經完成轉換。

這個時候就可以使用看看轉出來的程式了(這邊大概抓了五筆資料進行測試)。