欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年10月16日 10:57:23   作者:微笑刺客D  
這篇文章主要為大家詳細(xì)介紹了asp.net mvc CodeFirst模式數(shù)據(jù)庫遷移步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

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

遷移步驟:

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

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

極其要注意的是默認(rèn)項目?。?!

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

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

具體來看我當(dāng)前項目的分布情況:

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

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

成功操作會如下提示:

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

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

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

  輸入add-migrationupdateorderheader

2.update-database

  輸入update-database

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

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

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

出現(xiàn)異常了

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

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

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

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

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

初步成功

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

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

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

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文件,開啟自動遷移

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

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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • .NET Core單元測試的兩種方法介紹

    .NET Core單元測試的兩種方法介紹

    這篇文章介紹了.NET Core單元測試的兩種方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#頁碼導(dǎo)航顯示及算法實現(xiàn)代碼

    C#頁碼導(dǎo)航顯示及算法實現(xiàn)代碼

    C#頁碼導(dǎo)航算法要求:頁數(shù)小于等于1時不顯示;頁數(shù)大于10時,自動縮短,需要的朋友可以了解下
    2012-12-12
  • 在.ashx文件中獲取cookies值實現(xiàn)代碼

    在.ashx文件中獲取cookies值實現(xiàn)代碼

    .ashx文件中獲取cookies值對于一些高手們就不多說了,至于一些小白們還是有必要多多學(xué)習(xí)啊,好了話不多說,看代碼,感興趣的你可不要錯過了哈
    2013-02-02
  • .NET使用結(jié)構(gòu)體替代類提升性能優(yōu)化的技巧

    .NET使用結(jié)構(gòu)體替代類提升性能優(yōu)化的技巧

    這篇文章主要介紹了.NET使用結(jié)構(gòu)體替代類提升性能優(yōu)化的技巧,使用結(jié)構(gòu)體替代類有什么好處呢?在什么樣的場景需要使用結(jié)構(gòu)體來替代類呢?今天的文章為大家一一解答,需要的朋友可以參考下
    2022-05-05
  • asp.net get set用法

    asp.net get set用法

    屬性的定義和使用 屬性由兩個部分組成:屬性頭和存儲器。存儲器分為get訪問器和set訪問器。聲明屬性的一般形式為: 修飾符 類型 屬性名
    2008-05-05
  • WPF下YUV播放的D3D解決方案

    WPF下YUV播放的D3D解決方案

    這篇文章主要介紹了WPF下YUV播放的D3D解決方案,需要的朋友可以參考下
    2017-04-04
  • 微信公眾平臺開發(fā)之獲得ACCESSTOKEN .Net代碼解析

    微信公眾平臺開發(fā)之獲得ACCESSTOKEN .Net代碼解析

    這篇文章主要為大家詳細(xì)解析了微信公眾平臺開發(fā)之獲得ACCESSTOKEN .Net代碼,感興趣的小伙伴們可以參考一下
    2016-06-06
  • C#中使用SendMessage

    C#中使用SendMessage

    C#中使用SendMessage...
    2006-09-09
  • ASP.NET Core如何添加統(tǒng)一模型驗證處理機制詳解

    ASP.NET Core如何添加統(tǒng)一模型驗證處理機制詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core如何添加統(tǒng)一模型驗證處理機制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用ASP.NET Core具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2018-05-05
  • Visual Studio 2017安裝失敗的解決方法

    Visual Studio 2017安裝失敗的解決方法

    這篇文章主要為大家詳細(xì)介紹了Visual Studio 2017安裝失敗的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04

最新評論