我營運的一個項目背景是用EF CodeFirst操作資料庫,是以摸索了一點點經驗,分享一下.
添加字段或表:
新增表和字段有兩種方法
1、直接修改模型,然後執行指令:add-migration AddMigName,遷移生成的類中會自動包含要新增或修改的表結構,這種注意了,生成的遷移類中就不要再手動修改,比如字元串的長度什麼的,這樣會導緻生成的表字段和建立的模型不一緻而報錯,因為資料庫是根據遷移類來生成的,模型本來也是根據遷移類來生成的,但是模型已經手動添加了表結構,是以遷移類不會更改模型,這樣導緻表結構和模型不一緻,哪怕是字段的長度或類型不一緻都會報錯
具體遷移類的腳本
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9EleOd3ZU5UMJRVT3V1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4AzM5IDOxQTMyAjMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
2、不修改模型,直接執行指令建立一個空的遷移類,然後在遷移類中自己寫修改表結構的代碼
建立初态:add-migration Initial EF會自動生成Migrations遷移檔案夾
可以直接在直接新增一個類如:CompanyInstrument_EF,然後在XEngineContext類中通過
CompanyInstrument_EF類,具體字段自己定義
将類加入模型
add-migration
将遷移應用到資料庫:update-database --更新資料庫