完善主體資料,免費贈送VIP會員!
* 主體類型
* 企業(yè)名稱
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學歷
* 工作性質
請先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領完即止!

下載app免費領取會員

NULL

ad.jpg

二次開發(fā)教程:entity framework 遷移

發(fā)布于:2019-07-24 16:28:21

網(wǎng)友投稿

更多

1.打開 “程序包管理器控制臺”


2.設置 “程序包管理器控制臺” 的默認項目為當前項目


3.輸入Enable-Migrations  再回車;項目中會增加一個Migrations文件夾里


假設我們現(xiàn)在要在


    [Table("persons")]

    public class Person

    {

        [Column("person_id")]

        public int Id { get; set; }

        [Column("person_name")]

        public string Name { get; set; }

    }


增加一個字段        


[Column("person_age")]

public int Age { get; set; }


我們須在 “程序包管理器控制臺” 中輸入Add-Migration AddAge,回車,然后在Migrations文件夾里會增加一個類


    public partial class AddAge : DbMigration

    {

        public override void Up()

        {

            AddColumn("dbo.persons", "person_age", c => c.Int(nullable: false));

        }        

        public override void Down()

        {

            DropColumn("dbo.persons", "person_age");

        }

    }


然后在“程序包管理器控制臺” 輸入 Update-Database ,回車。


數(shù)據(jù)庫里就會增加person_age字段,源程序運行也不會報錯了


 


Get-Migrations 可以查看歷史遷移


Update-Database -TargetMigration:"InitialCreate"; 可以退回到目標遷移狀態(tài)


回退的時候會運行DbMigration 的Down方法,以上的例子回滾到InitialCreate時會運行AddAge的Down方法,


會刪除person_age列,如果把AddAge改成:


    public partial class AddAge : DbMigration

    {

        public override void Up()

        {

            AddColumn("dbo.persons", "person_age", c => c.Int(nullable: false));

        }        

        public override void Down()

        {

            RenameColumn("dbo.persons", "person_age","age");

        }

    }


回頭時就會把person_age 重名命為age

本文版權歸腿腿教學網(wǎng)及原創(chuàng)作者所有,未經授權,謝絕轉載。

未標題-1.jpg

上一篇:二次開發(fā)教程:ef 查詢相關數(shù)據(jù)

下一篇:二次開發(fā)教程:entity framework 自定義映射