我只想找出如何使用模型優先設計在實體中創建列作爲枚舉類型。從模型創建枚舉值使用EF 6.1的首次設計
在附圖中,您可以看到我創建了一個簡單的控制檯應用程序(在右窗格中)並添加了一個名爲Teacher的實體(位於左側)的EDM模型。
我點擊了EDM設計器並選擇了「Add new Enum Type」(你在中間窗格中看到)。這3種類型是Permanent,Contract和Guest,其中TeacherType枚舉類型的值分別爲1,2,3。
我怎麼能轉換TeacherType **在左窗格中的屬性實際上在中間窗格中的枚舉值TeacherType?**
另外,如果你更新你的模型,它在轉會更新數據庫,你會失去你的改變?模型首先,我不相信,但用DataBase首先,我相信你會的。是否還有一種方法可以與DataBase First做同樣的事情?
代碼首先是好的,但我覺得它還有一段路要走,因爲你需要手動執行所有的Powershell命令,並且所有的「額外行李」都像代碼中的定義關係,FK的,種子等等。這需要很多時間我覺得可以很容易地在設計師更快,更少的錯誤。
非常感謝!這回答了我的問題,並得到它... – sagesky36 2014-10-01 16:50:54
Pawel,我正在從數據庫中抽取Code First模型---非常酷。我從數據庫中添加了兩個表格到應用程序中。它使用DbSet實體以及屬性和關聯創建了一個Model文件。它還爲每個表創建單獨的POCO類。問題是:如果我需要添加/更新/刪除屬性,該怎麼辦?我知道我可以更改POCO類來添加/更新/刪除屬性,並在Model類中反映相同的更改。我如何將代碼中所做的更改反映到數據庫中? – sagesky36 2014-10-03 18:31:17
您需要決定是要先執行代碼還是首先執行數據庫(使用代碼優先模型)。如果您有一個現有的測試數據庫,並且您不關心數據,則可以從現有數據庫創建Code First模型,然後擺脫Db並繼續通過代碼演變數據庫(理想情況下使用遷移)。如果你不能這樣做,你應該在每次需要時發展數據庫並重新創建模型。 – Pawel 2014-10-03 18:41:23