在包管理器控制台中輸入命令「enable-migrations」,然後按enter鍵!visual studio將生成乙個名為「configurations.cs」的檔案; 你可以安全地忽略它,但你需要保持它。
ef遷移設定的最後一步是在包管理器控制台中輸入命令「add-migration initialmigration -ignorechanges」。「initialmigration」(高亮的黃色)是您想要給當前遷移的名稱,「ignorechanges」控制代碼是告訴ef migrations您想要忽略當前資料庫:這意味著您希望ef忽略所有現有表,以便不會為現有表生成指令碼。
因此,您將看到visual studio生成的對應於您剛才新增的遷移(initialmigration)的新.cs檔案。如果你檢視檔案,它本質上是乙個空白檔案,由於我們在上一步使用了-ignorechanges控制代碼。
要實際將此遷移儲存到資料庫,請在包管理器控制台中執行命令「update-database」。您的資料庫現在可以進行實際的ef遷移任務!
現在,假設我們想鏈結部落格和產品,其中乙個產品可以有多個blogpost談論產品本身。我們需要乙個一對多的產品和blogpost之間的關係。
實質上,我們需要的是blogpost中的新productid欄位,以及product中的icollection 屬性。下面的截圖總結了我們應該新增到product.cs和blogpost.cs(在nop.core專案中)的更新。
現在,您已在域模型上準備好屬性,您還需要設定配置並告知entity framework如何格式化引數,例如關係,以及字段是否是可選的/必需的。在nop.data中開啟blogpostmap.cs,輸入以下行,我們告訴ef 產品(或productid)是乙個可選屬性(意味著它可以有null作為值),乙個產品可以有很多blogpost,使用productid作為blogpost和product之間的外來鍵。
我們現在有足夠的資訊來指示entity framework生成遷移,因此再次開啟package manager console,並輸入命令「add-migration addproducttoblogpost」。
此命令會使visual studio生成類似於以下內容的.cs檔案:
要實際生成sql指令碼並更新資料庫,請在package manager控制台中再次執行命令「update-database」。現在,要驗證資料庫是否正確更新,請在資料庫中開啟blogpost表,並檢查新字段,外來鍵等是否確實已新增。
EF 的 code first 資料遷移
當開發過程中,由類生成了資料庫。但是,在後續的開發過程,要更改某個資料庫的表的列或是增加乙個資料表的時候。ef6.0的操作分別為 為類新增列 比如 cuser 類有name adress兩列。現在需要新增 school一列。使用code first 進行 遷移 migration,步驟如下 1 在v...
EF資料庫遷移
自動遷移 1 在建立的實體類中新增乙個字段 2 開啟程式包管理器控制台 3 在程式包管理器控制台輸入enable migrations,在該專案下會自動生成migrations資料夾 4 開啟migrations資料夾下的configuration.cs,並設定automaticmigrations...
migration資料庫遷移命令和遷移任務編寫
rails 資料庫遷移命令的寫法整理 建立遷移任務 rails g migration migration name 一般建立完後,生成檔案裡有兩個action,乙個up rails3.0以下版本是self.up 用於存放你要改變資料的指令,乙個down rails3.0以下版本是self.down...