一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

2020-05-17 14:47微笑刺客D ASP.NET教程

這篇文章主要為大家詳細介紹了asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下

利用Code First模式構建好基本的類后,項目也開始搭建完畢并成功運行,而且已經(jīng)將數(shù)據(jù)庫表結構自動生成了。

但是,我有新的類要加入,有字段需要修改,那怎么辦呢,刪庫,跑路 ? 哈哈

利用數(shù)據(jù)庫遷移,將原有結構不改動,將新建類進行單獨建表操作,或者是已有數(shù)據(jù)庫表,改變字段,那就修改表。

遷移步驟:

1.打開程序包管理器控制臺:工具->NuGet包管理器->程序包管理器控制臺.(當然還有其它方式也可以打開,我比較喜歡這種)

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

點擊后將彈出程序包管理器控制臺

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

極其要注意的是默認項目?。?!

2.啟動數(shù)據(jù)庫遷移,執(zhí)行命令:enable-migrations

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

 

由于Models不一定就是直接利用項目中已有的文件夾Models,從而當你選中啟動項目為asp.net mvc 框架類型時,此處將會報錯

具體來看我當前項目的分布情況:

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

我將模型分離出來了,以至于當我默認選中SearchEngine為啟動項目時,在程序包管理器控制臺中輸入的第一個命令就會報錯

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

 

解決方案:選中默認項目,選擇為DbContext所在的項目,此處我的是類庫

成功操作會如下提示:

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

并且在DbContext同級目錄下增加了migrations目錄

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

3.開始數(shù)據(jù)庫遷移命令

1.Add-migration [自定義版本名稱]

  輸入add-migrationupdateorderheader

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

2.update-database

  輸入update-database

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

此處如果和我一樣將DbContext單獨分割出來的需要注意,需要在當前類庫的配置文件中加上數(shù)據(jù)庫的連接地址

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

如果是直接在asp.net mvc框架中的Models中加入的DbContext,則可不必,會直接讀取Web.Config文件中的連接字符串

等待命令執(zhí)行中......

出現(xiàn)異常了

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

開始尋找我電腦中的SQL Server Configuration Manage ,如果有則打開,找到

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

配置TCP/IP協(xié)議為已啟用即可。

我的本地沒有該工具,只能通過如下方式找到該處

點擊我的電腦右鍵->管理->服務和應用程序->SQLServer配置管理器 ( 兩次找這工具都沒找到,貌似都是直接從這解決的)

重新輸入命令,等待執(zhí)行

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

初步成功

由于數(shù)據(jù)庫中有些表無需更改

我們可以在migrations目錄中,更改需要增加或修改的具體表

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

通過修改其中的CreateTable/DropTable,可以控制哪些表需要改動

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
namespace SAssassin.EF.Model.Migrations
{
  using System;
  using System.Data.Entity.Migrations;
 
  public partial class updateorderheader : DbMigration
  {
    public override void Up()
    {
      CreateTable(
        "dbo.MyFileInfoes",
        c => new
        {
          Id = c.Int(nullable: false, identity: true),
          FileName = c.String(),
          FileDescription = c.String(),
          FilePath = c.String(),
          FileType = c.Byte(nullable: false),
          FileSize = c.String(),
          FileStatus = c.Byte(nullable: false),
          IsPublic = c.Byte(nullable: false),
          UserId = c.String(),
          UserName = c.String(),
          CreateDate = c.DateTime(nullable: false),
          LastModityDate = c.DateTime(nullable: false),
        })
        .PrimaryKey(t => t.Id);
    }
 
    public override void Down()
    {
      DropTable("dbo.MyFileInfoes");
    }
  }
}

4.修改代碼配置,實現(xiàn)之后的操作沒那么麻煩

修改migrations目錄中的Configuration.cs文件,開啟自動遷移

asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟詳解

5.在項目Global.asax的Application_Start中加上如下代碼行:

?
1
System.Data.Entity.Database.SetInitializer(new System.Data.Entity.MigrateDatabaseToLatestVersion<SAssassin.EF.Model.CodeFirst, SAssassin.EF.Model.Migrations.Configuration>());

到此,數(shù)據(jù)庫遷移工作已經(jīng)完畢了。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/CKExp/archive/2017/10/15/7670582.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲 日韩经典 中文字幕 | 99 久久99久久精品免观看 | 国产午夜精品不卡视频 | 99久视频 | 精品在线看 | 紧身牛仔裤美女被啪啪久久网 | 女生被爆操 | 色综合久久中文字幕综合网 | 人人爽人人射 | 国产青青草 | 亚洲男人天堂久久 | 国产精品久久久久久久免费大片 | 欧美国产日韩1区俺去了 | 四虎影视在线影院在线观看观看 | 久久无码人妻AV精品一区 | 男生和女生艹逼 | 日本视频在线观看 | 欧美一级片免费 | 九九热国产视频 | 嫩草在线视频www免费观看 | 91麻豆精品国产91久久久 | 狠狠综合久久综合网站 | 亚洲 欧美 清纯 校园 另类 | 啊好痛嗯轻一点免费 | 我不卡影院手机在线观看 | 91精品国产91久久久久久 | 国产精品手机视频一区二区 | 国产一区二区三区四区波多野结衣 | 亚欧视频在线观看 | 国产亚洲sss在线播放 | 草莓茄子丝瓜番茄小蝌蚪 | 国产 国语对白 露脸正在播放 | 青青草国产免费国产是公开 | 日本公与妇中文在线 | 国产精品男人的天堂 | 波多野结衣在线中文 | 四虎影视在线看免费 720p | 欧美成人momandson | 天天干夜夜噜 | 色天使亚洲综合在线观看 | 羞羞色男人的天堂伊人久久 |