日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
asp.netmvcCodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析”這篇文章吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、溆浦網(wǎng)站維護(hù)、網(wǎng)站推廣。

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

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

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

遷移步驟:

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

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

點(diǎn)擊后將彈出程序包管理器控制臺(tái)

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

極其要注意的是默認(rèn)項(xiàng)目?。。?/p>

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

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

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

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

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

我將模型分離出來(lái)了,以至于當(dāng)我默認(rèn)選中SearchEngine為啟動(dòng)項(xiàng)目時(shí),在程序包管理器控制臺(tái)中輸入的第一個(gè)命令就會(huì)報(bào)錯(cuò)

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

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

成功操作會(huì)如下提示:

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

并且在DbContext同級(jí)目錄下增加了migrations目錄

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

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

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

輸入add-migrationupdateorderheader

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

2.update-database

輸入update-database

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

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

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

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

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

出現(xiàn)異常了

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

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

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

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

我的本地沒(méi)有該工具,只能通過(guò)如下方式找到該處

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

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

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

初步成功

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

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

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

通過(guò)修改其中的CreateTable/DropTable,可以控制哪些表需要改動(dòng)

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.修改代碼配置,實(shí)現(xiàn)之后的操作沒(méi)那么麻煩

修改migrations目錄中的Configuration.cs文件,開(kāi)啟自動(dòng)遷移

asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析

5.在項(xiàng)目Global.asax的Application_Start中加上如下代碼行:

System.Data.Entity.Database.SetInitializer(new System.Data.Entity.MigrateDatabaseToLatestVersion());

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

以上是“asp.net mvc CodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章標(biāo)題:asp.netmvcCodeFirst模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移的示例分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/csegce.html