中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

EF架構(gou)~CodeFirst生(sheng)產環境的(de)Migrations

回到目錄

Migrations即(ji)遷(qian)移,它是EF的code first模式出現的產物,它意思是說(shuo),將代碼(ma)的變化反映到數據庫(ku)上,這種(zhong)反映有兩(liang)種(zhong)環(huan)(huan)(huan)境(jing)(jing),一是本地開(kai)(kai)發環(huan)(huan)(huan)境(jing)(jing),別一種(zhong)是服(fu)務(wu)器的生(sheng)產環(huan)(huan)(huan)境(jing)(jing),本地開(kai)(kai)發環(huan)(huan)(huan)境(jing)(jing)主要使用包管理工具的update-database即(ji)可完成數據庫(ku)的遷(qian)移(變更),而在生(sheng)產環(huan)(huan)(huan)境(jing)(jing)就顯(xian)得麻煩一些,因為你不會(hui)在生(sheng)產環(huan)(huan)(huan)境(jing)(jing)放(fang)程(cheng)序源代碼(ma)和VS開(kai)(kai)發工具,哈哈.

本地數據庫遷移請看我的這篇文章

EF架構~CodeFirst數據遷移與防數據庫刪除

服務器上生產環境的數據遷移

如果我們有遷移文件如下

public partial class manager : DbMigration
    {
  /// <summary>
        /// 要在升級過程(cheng)中執行的操作。
        /// &lt;/summary> 
public override void Up() { DropForeignKey("dbo.WebDataSettings", "WebDataCtrlId", "dbo.WebDataCtrls"); DropForeignKey("dbo.WebDataSettings", "DepartmentId", "dbo.WebDepartments"); RenameColumn(table: "dbo.WebDataSettings", name: "DepartmentId", newName: "WebDepartmentsId"); RenameIndex(table: "dbo.WebDataSettings", name: "IX_DepartmentId", newName: "IX_WebDepartmentsId"); AddForeignKey("dbo.WebDataSettings", "WebDataCtrlId", "dbo.WebDataCtrls", "ID", cascadeDelete: true); AddForeignKey("dbo.WebDataSettings", "WebDepartmentsId", "dbo.WebDepartments", "ID", cascadeDelete: true); }
/// <summary>
        /// 要在(zai)降級過程(cheng)中執(zhi)行(xing)的(de)操作。
 &nbsp;      /// </summary>
public override void Down() { DropForeignKey("dbo.WebDataSettings", "WebDepartmentsId", "dbo.WebDepartments"); DropForeignKey("dbo.WebDataSettings", "WebDataCtrlId", "dbo.WebDataCtrls"); RenameIndex(table: "dbo.WebDataSettings", name: "IX_WebDepartmentsId", newName: "IX_DepartmentId"); RenameColumn(table: "dbo.WebDataSettings", name: "WebDepartmentsId", newName: "DepartmentId"); AddForeignKey("dbo.WebDataSettings", "DepartmentId", "dbo.WebDepartments", "ID"); AddForeignKey("dbo.WebDataSettings", "WebDataCtrlId", "dbo.WebDataCtrls", "ID"); } }

在本(ben)地VS中(zhong)執行下(xia)面命令,它將(jiang)生產遷移計劃,即SQL語句

Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration:manage

它將生(sheng)成對應的SQL腳本,我們在服(fu)務器(qi)上運行即(ji)可

冪等性

Migration生(sheng)成的SQL腳(jiao)本是(shi)(shi)冪等的,即(ji),當你多次執(zhi)行SQL腳(jiao)本時,產生(sheng)的結果是(shi)(shi)一(yi)樣的,不對有負作用.

回到目錄

posted @ 2016-07-27 13:31  張占嶺  閱讀(5314)  評論(2)    收藏  舉報