成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > ASP.NET MVC4入門教程(七):給電影表和模型添加新字段

ASP.NET MVC4入門教程(七):給電影表和模型添加新字段

熱門標簽:代理接電話機器人如何取消 地圖標注的公司有哪些 遂寧市地圖標注app 地圖標注專業(yè)團隊 濮陽外呼電銷系統(tǒng)怎么樣 400電話辦理哪家性價比高 地圖定位圖標標注 天心智能電銷機器人 塔城代理外呼系統(tǒng)

在本節(jié)中,您將使用Entity Framework Code First來實現(xiàn)模型類上的操作。從而使得這些操作和變更,可以應(yīng)用到數(shù)據(jù)庫中。

默認情況下,就像您在之前的教程中所作的那樣,使用 Entity Framework Code First自動創(chuàng)建一個數(shù)據(jù)庫,Code First為數(shù)據(jù)庫所添加的表,將幫助您跟蹤數(shù)據(jù)庫是否和從它生成的模型類是同步的。如果他們不是同步的,Entity Framework將拋出一個錯誤。這非常方便的在開發(fā)時就可以發(fā)現(xiàn)錯誤,否則您可能會在運行時才發(fā)現(xiàn)這個問題。 (由一個晦澀的錯誤信息,才發(fā)現(xiàn)這個問題。)

為對象模型的變更設(shè)置 Code First Migrations

如果您使用的是 Visual Studio 2012,從解決方案資源管理器中雙擊Movies.mdf,打開數(shù)據(jù)庫工具。Visual Studio Express for Web將顯示數(shù)據(jù)庫資源管理器,Visual Studio 2012 將顯示服務(wù)器資源管理器。如果您使用的是Visual Studio 2010,請使用 SQL Server對象資源管理器。

在數(shù)據(jù)庫工具 (數(shù)據(jù)庫資源管理器、 服務(wù)器資源管理器或 SQL Server對象資源管理器),右鍵單擊MovieDBContext ,并選擇刪除以刪除電影數(shù)據(jù)庫。

返回到解決方案資源管理器。在Movies.mdf文件上右鍵單擊,并選擇刪除以刪除電影數(shù)據(jù)庫。

Build應(yīng)用程序,以確保沒有任何編譯錯誤。

從工具菜單上,單擊庫包管理器,然后點擊程序包管理器控制臺.

在 軟件包管理器控制臺 窗口中 PM> 提示符下輸入"Enable-Migrations –ContextTypeName MvcMovie.Models.MovieDBContext"。

(如上所示)Enable-Migrations命令會在Migrations文件夾中創(chuàng)建一個Configuration.cs文件。

在Visual Studio 中打開Configuration.cs文件。把Configuration.cs文件中的Seed方法,替換為下面的代碼:

protected override void Seed(MvcMovie.Models.MovieDBContext context) { 
  context.Movies.AddOrUpdate(
    i => i.Title, 
    new Movie { Title = "When Harry Met Sally", ReleaseDate = DateTime.Parse("1989-1-11"), Genre = "Romantic Comedy", Price = 7.99M }, 
    new Movie { Title = "Ghostbusters ", ReleaseDate = DateTime.Parse("1984-3-13"), Genre = "Comedy", Price = 8.99M }, 
    new Movie { Title = "Ghostbusters 2", ReleaseDate = DateTime.Parse("1986-2-23"), Genre = "Comedy", Price = 9.99M }, 
    new Movie { Title = "Rio Bravo", ReleaseDate = DateTime.Parse("1959-4-15"), Genre = "Western", Price = 3.99M }
  ); 
}

在Movie下面出現(xiàn)的紅色波浪線上右鍵單擊,并選擇Resolve然后點擊using MvcMovie.Models;

這樣做之后,將添加以下的 using語句:

using MvcMovie.Models;

每次Code First Migrations 會調(diào)用Seed 方法(即,在程序包管理器控制臺中調(diào)用update-database),并且此次調(diào)用會更新行:更新已經(jīng)插入的行,或把不存在的行也插入。

按 CTRL-SHIFT-B 來Build工程。(如果此次Build不成功,以下的步驟將會失敗。)

下一步是創(chuàng)建一個DbMigration類,用于初始化數(shù)據(jù)庫遷移。此遷移類將創(chuàng)建新的數(shù)據(jù)庫,這也就是為什么在之前的步驟中你要刪除movie.mdf文件。

在軟件包管理器控制臺窗口中,輸入"add-migration Initial"命令來創(chuàng)建初始遷移。" Initial" 的名稱是任意,是用于創(chuàng)建遷移文件的名稱。

Code First Migrations將會在Migrations文件夾中創(chuàng)建另一個類文件 (文件名為: {DateStamp}_Initial.cs ),此類中包含的代碼將創(chuàng)建數(shù)據(jù)庫的Schema。遷移文件名使用時間戳作為前綴,以幫助用來排序和查找。查看{DateStamp}_Initial.cs文件,它包含了為電影數(shù)據(jù)庫創(chuàng)建電影表的說明。當您更新數(shù)據(jù)庫時,{DateStamp}_Initial.cs文件將會被運行并創(chuàng)建 DB 的Schema。然后Seed方法將運行,用來填充 DB 的測試數(shù)據(jù)。

在軟件包管理器控制臺中,輸入命令" update-database ",創(chuàng)建數(shù)據(jù)庫并運行Seed方法。

如果您收到表已經(jīng)存在并且無法創(chuàng)建的錯誤,可能是因為您已經(jīng)刪除了數(shù)據(jù)庫,并且在執(zhí)行update-database之前,您運行了應(yīng)用程序。在這種情況下,再次刪除Movies.mdf文件,然后重試update-database命令。如果您仍遇到錯誤,刪除Migration文件夾及其內(nèi)容,然后從頭開始重做。(即刪除Movies.mdf文件,然后再進行Enable-Migrations)

運行該應(yīng)用程序,然后瀏覽URL /Movies Seed數(shù)據(jù)顯示如下:

為影片模型添加評級屬性

給現(xiàn)有的Movie類,添加新的Rating屬性。打開Models\Movie.cs文件并添加如下Rating屬性:

public string Rating { get; set; }

完整的Movie類如下:

public class Movie { 
  public int ID { get; set; } 
    
  public string Title { get; set; } 
    
  public DateTime ReleaseDate { get; set; } 
    
  public string Genre { get; set; } 
    
  public decimal Price { get; set; } 
    
  public string Rating { get; set; } 
}

Build 應(yīng)用程序 Build>Build Move或CTRL-SHIFT-B.

現(xiàn)在,您已經(jīng)更新了Model類,您還需要更新\Views\Movies\Index.cshtml\Views\Movies\Create.cshtml視圖模板,以便能在瀏覽器中顯示新的Rating屬性。

打開\Views\Movies\Index.cshtml文件,在Price列后面添加th>Rating/th>的列頭。然后添加一個td>列來顯示@item.Rating的值。下面是更新的Index.cshtml視圖模板:

@model IEnumerableMvcMovie.Models.Movie> 
@{ ViewBag.Title = "Index"; } 
h2>Index/h2> 
p> @Html.ActionLink("Create New", "Create") /p> 
table>
  tr>
    th> @Html.DisplayNameFor(model => model.Title) /th>
    th> @Html.DisplayNameFor(model => model.ReleaseDate) /th>
    th> @Html.DisplayNameFor(model => model.Genre) /th>
    th> @Html.DisplayNameFor(model => model.Price) /th>
    th> @Html.DisplayNameFor(model => model.Rating) /th>
    th>/th>
  /tr>
  @foreach (var item in Model) { 
  tr>
    td> @Html.DisplayFor(modelItem => item.Title) /td>
    td> @Html.DisplayFor(modelItem => item.ReleaseDate) /td>
    td> @Html.DisplayFor(modelItem => item.Genre) /td>
    td> @Html.DisplayFor(modelItem => item.Price) /td>
    td> @Html.DisplayFor(modelItem => item.Rating) /td>
    td> @Html.ActionLink("Edit", "Edit", new { id=item.ID }) | @Html.ActionLink("Details", "Details", new { id=item.ID }) | @Html.ActionLink("Delete", "Delete", new { id=item.ID }) /td>
  /tr> }
/table>

下一步,打開\Views\Movies\Create.cshtml文件,并在form標簽結(jié)束處的附近添加如下代碼。您可以在創(chuàng)建新的電影時指定一個電影等級。

div > @Html.LabelFor(model => model.Rating) /div>
div > @Html.EditorFor(model => model.Rating) @Html.ValidationMessageFor(model => model.Rating) /div>

現(xiàn)在,您已經(jīng)更新應(yīng)用程序代碼以支持了新的Rating屬性。

現(xiàn)在運行該應(yīng)用程序,然后瀏覽 /Movies的 URL。然而,當您這樣做時,您將看到以下之一的錯誤信息:

你現(xiàn)在看到此錯誤,因為在應(yīng)用程序中,最新的Movie模型類和現(xiàn)有的數(shù)據(jù)庫Movie表的Schema不同。(數(shù)據(jù)庫表中,沒有Rating列。)

我們將使用Code First Migrations 來解決這一問題。

更新Seed方法,以便它能為新的列提供一個值。打開 Migrations\Configuration.cs 文件,并將Rating 字段添加到影片的每個對象。

new Movie
{
  Title = "When Harry Met Sally",
  ReleaseDate = DateTime.Parse("1989-1-11"),
  Genre = "Romantic Comedy",
  Rating = "G",
  Price = 7.99M
},

Build解決方案,然后打開 軟件包管理器控制臺 窗口,并輸入以下命令:

add-migration AddRatingMig

add-migration命令告訴migration framework,來檢查當前電影模型與當前的影片 DB Schema并創(chuàng)建必要的代碼以將數(shù)據(jù)庫遷移到新的模型。AddRatingMig 是一個任意的文件名參數(shù),用于命名migration文件。它將有助于使得遷移步驟成為一個有意義的名字。

當命令完成后,用Visual Studio 打開類文件,新繼承自DbMIgration 類的定義,并在Up 方法中,您可以看到創(chuàng)建新列的代碼:

public partial class AddRatingMig : DbMigration
{
  public override void Up()
  { 
    AddColumn("dbo.Movies", "Rating", c => c.String()); 
  }
  public override void Down()
  {
    DropColumn("dbo.Movies", "Rating");
  }
}

Build解決方案,然后在 程序包管理器控制臺 窗口中輸入"update-database"命令。

下面的圖片顯示了 程序包管理器控制臺 窗口的輸出 (AddRatingMig 的前綴時間戳將有所不同)。

重新運行應(yīng)用程序,然后瀏覽 /Movies 的 URL。您可以看到新的評級字段。

單擊CreateNew鏈接來添加一部新電影。注意,請您可以為電影添加評級。

單擊Create。新的電影,包括評級,將顯示在電影列表中:

此外您也應(yīng)該把Rating 字段添加到編輯、 詳細信息和 SearchIndex 的視圖模板中。

您可以再次在 程序包管理器控制臺 窗口中輸入"update-database"命令,將不會有任何新的變化,因為數(shù)據(jù)庫Schema 和模型類現(xiàn)在是匹配的。

在本節(jié)中,您看到了如何修改模型對象并始終保持其和數(shù)據(jù)庫Schema的同步。您還學(xué)習了使用填充示例數(shù)據(jù)來創(chuàng)建新數(shù)據(jù)庫的例子,您可以反復(fù)嘗試。接下來,讓我們看看如何將豐富的驗證邏輯添加到模型類,并對模型類執(zhí)行一些強制的業(yè)務(wù)規(guī)則驗證。

您可能感興趣的文章:
  • 基于Asp.Net MVC4 Bundle捆綁壓縮技術(shù)的介紹
  • 使用asp.net MVC4中的Bundle遇到的問題及解決辦法分享
  • ASP.NET MVC4之js css文件合并功能(3)
  • ASP.NET MVC4 HtmlHelper擴展類,實現(xiàn)分頁功能
  • ASP.NET MVC4入門教程(一):入門介紹
  • ASP.NET MVC4入門教程(二):添加一個控制器
  • ASP.NET MVC4入門教程(三):添加一個視圖
  • ASP.NET MVC4入門教程(四):添加一個模型
  • ASP.NET MVC4入門教程(五):從控制器訪問數(shù)據(jù)模型
  • ASP.NET MVC4入門教程(六):驗證編輯方法和編輯視圖
  • ASP.NET MVC4入門教程(八):給數(shù)據(jù)模型添加校驗器
  • ASP.NET MVC4入門教程(九):查詢詳細信息和刪除記錄

標簽:吉林 本溪 汕頭 麗江 婁底 河南 宜春 重慶

巨人網(wǎng)絡(luò)通訊聲明:本文標題《ASP.NET MVC4入門教程(七):給電影表和模型添加新字段》,本文關(guān)鍵詞  ASP.NET,MVC4,入門教程,七,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET MVC4入門教程(七):給電影表和模型添加新字段》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET MVC4入門教程(七):給電影表和模型添加新字段的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    男生操女生视频在线观看| 九九久久电影| 亚洲一区二区三区日韩| 久久99国产精品久久99小说| av网站一区二区三区| 欧美最猛性xxxxx免费| 高h视频在线播放| 亚洲精选视频在线| 免费看又黄又无码的网站| 亚洲欧美一区二区三区在线播放| 激情久久av一区av二区av三区| 久久99国产精品99久久| 国产一级av毛片| 久久久久国产精品区片区无码| 中文字幕乱码日本亚洲一区二区| 国产视色精品亚洲一区二区| 翔田千里88av中文字幕| 亚洲另类在线一区| 色成人在线视频| 亚洲一区免费看| 欧美日本韩国一区| 98视频精品全部国产| 亚洲人性生活视频| 国产一区二区三区久久| av毛片在线免费| 捆绑紧缚一区二区三区视频| 国产精品美女www爽爽爽视频| 97超碰人人在线| 久久久久久久久久久久91| 国产又大又硬又粗| 国产精品999999| 日韩在线免费观看视频| av影片免费在线观看| 亚洲国产成人在线观看| 天天干天天色天天| 91国在线产| 亚洲va国产va天堂va久久| 欧美日韩午夜视频在线观看| 国产精品久久中文| 国产嫩草在线观看| 精品999在线| 韩国一区二区在线播放| 国产伦精品一区二区三区精品| 97久久久久久久| 日韩免费一区| 亚洲激情国产精品| 国产一区二区三区久久精品| 日韩av在线精品| 亚洲妇女无套内射精| 久久精品综合一区| 人操人爱免费视频| 欧美三级又粗又硬| 亚洲精品传媒| 国产精品日韩二区| 色老汉av一区二区三区| 日韩精品一区二区在线| 精品一区二区三区国产| 久久艹免费视频| 欧美成人精品一区二区免费看片| 国产丝袜不卡| 性久久久久久| 国产精品热久久久久夜色精品三区| 亚洲一区二区三区av无码| 亚洲综合自拍网| 久久久影院官网| 欧美午夜电影一区| 亚洲精品一区二区三区蜜桃下载| 欧美一区二区视频17c| 99香蕉久久| 国产欧美不卡| 国产免费a级片| 免费国产视频| 日本大香伊一区二区三区| 激情另类综合| 爽爽淫人综合网网站| 人善交video高清| 99热在线国产| 成人免费在线视频网| 日韩伦理一区| 美女主播精品视频一二三四| 91麻豆精品国产91| 亚洲人成五月天| 97精品国产97久久久久久免费| 成人午夜免费在线| 欧美在线观看天堂一区二区三区| 影音先锋中文在线观看| 一区二区三区不卡在线视频| 18成人免费观看网站下载| 500福利第一精品导航| 免费在线不卡视频| 国产成人无码一区二区在线播放| 亚洲av无码片一区二区三区| 日韩视频 中文字幕| 国产不卡人人| 日本免费一区二区三区视频观看| 97久久中文字幕| 91精品国产99久久久久久| 91福利国产成人精品播放| 亚洲国产精品va在看黑人| 狠狠一区二区三区| 国产成人免费xxxxxxxx| 国产在视频一区二区三区吞精| 国产精品免费观看高清| 97精品人妻一区二区三区蜜桃| 成人动漫视频| 男人在线视频资源| 纪美影视在线观看电视版使用方法| 免费av一级片| 国产高清视频免费最新在线| 日韩亚洲欧美在线| 久久99影院| 久久综合久色欧美综合狠狠| 精品一区91| 北条麻妃av毛片免费观看| 色七七影院综合| 小日子的在线观看免费第8集| 肥熟一91porny丨九色丨| 国色天香一区二区| 91av视频免费观看| 国产精品精品软件男同| 精品国产高清自在线一区二区三区| 川上优的av在线一区二区| 在线免费观看视频网站| 日本成年人网址| 一级黄色录像毛片| 日韩欧美在线视频一区二区| 国产日韩精品综合网站| 国产欧美日韩综合精品一区二区| 亚洲少妇中文在线| 男女视频一区二区三区| 私库av在线播放| 制服丝袜在线第一页| 999日本视频| 亚洲综合色网站| 91free张津瑜movies| 欧美与欧洲交xxxx免费观看| 中国老熟女重囗味hdxx| caoporn97免费视频公开| 蜜桃视频在线观看一区二区| 精品人妻aV中文字幕乱码色欲| 亚洲另类图片色| 亚洲一区二区电影| 污污免费在线观看| 亚洲人在线视频| 亚洲高清免费在线观看| 国产精品区一区二区三在线播放| 一区二区三区四区在线观看国产日韩| 亚洲欧美一区二区三区久本道91| 精品久久国产一区| 91免费视频观看| 德国一级在线视频| 九七电影韩国女主播在线观看| 成人免费视频caoporn| 嫩草影院永久入口| 国产一区二区三区久久久| 美女胸又www又黄的网站| 久久免费激情视频| 国产美女高潮久久白浆| 午夜激情一区| 一个人看免费www视频有多爽| 国产一区自拍视频| www.av片| 国产偷人妻精品一区| 免费人成视频在线| 午夜久久免费观看| 中文字幕av一区二区三区| 国产精品麻豆va在线播放| 特级西西人体4444xxxx| 天堂在线精品| 国产精品久久国产精品| 国产精品一区二区三区视频网站| 亚洲免费人成在线视频观看| 最新日韩在线视频| 日韩欧美少妇| 免费极品av一视觉盛宴| 久久成人麻豆午夜电影| 91精品蜜臀在线一区尤物| 91亚洲va在线va天堂va国| 97久久精品人人做人人爽| 亚洲伦理久久| 欧美成人一区二区三区高清| 国产一区二区三区视频| 欧美精品精品精品精品免费| 亚洲精品国产久| 亚洲精品成人天堂一二三| 国产哺乳奶水91在线播放| 亚洲国产成人自拍| 欧美精品自拍偷拍动漫精品| 日韩av图片| 污污视频网站在线免费观看| av网站有哪些| 91精品少妇一区二区三区蜜桃臀| 欧美裸体男粗大视频在线观看| 国产伦精品一区二区三区视频网站| 男女午夜刺激视频| 樱桃成人精品视频在线播放| 欧美粗暴性video| 日韩精品福利视频| 啄木系列成人av电影| 一二三四视频在线中文| 欧美精品麻豆| 久久久精品影院| 国产真实乱全部视频| 国产av国片精品| 国产精品美女午夜爽爽| 国产精品美女免费看| 久久久久综合网| 免费成人结看片| 日本天堂网在线观看| 日本一区二区三级电影在线观看| 精品国模在线视频| 91麻豆精品国产自产在线观看一区| 久久人人爽人人片| 美女日批免费视频| 欧美在线观看日本一区| 欧美日韩久久久一区| 欧美一级二级视频| 天堂中文在线官网| 亚洲熟妇av一区二区三区| 精品国产91九色蝌蚪| 国产精品一区在线看| 伊是香蕉大人久久| 亚洲午夜精品久久| 三级不卡在线观看| 免费福利电影| 91精品国产综合久久香蕉最新版| 日本成人a网站| 无码人妻精品一区二区三区在线| 亚洲精品v天堂中文字幕| 狠狠久久亚洲欧美| 69精品国产久热在线观看| 国产偷人爽久久久久久老妇app| 9999精品| 国产亚洲午夜高清国产拍精品| 欲求不满中文字幕| 日韩中文影院| 精品国内亚洲在观看18黄| 亚洲精品乱码久久久久久蜜桃图片| 亚洲精品性视频| 全部a∨一极品视觉盛宴| 5g影院5g天天爽永久免费影院| a级国产乱理论片在线观看99| 亚洲欧美日本在线观看| 欧美激情极品| 免费国产高清| 亚洲第九十九页| av福利导福航大全在线播放| 中文在线资源观看视频网站免费不卡| 中文av字幕一区| 久久久久久久久一区| 欧洲乱码伦视频免费| 亚洲精美视频| 中文字幕激情小说| 一级片免费网址| 亚洲xxx在线观看| 伊人成人网在线看| 国产精品久久一区二区三区| 久久网这里都是精品| 日韩激情在线视频| 亚洲自拍偷拍色图| 制服诱惑一区| 天码人妻一区二区三区在线看| 国产大学生校花援交在线播放| 成人欧美在线| 欧美激情第一页在线观看| 中文字幕视频在线播放| 国产成人精品av| av超碰在线观看| 成人免费黄色在线| 日韩激情视频在线播放| 超碰在线无需免费| 日韩视频二区| 国产精品久久久久久久久妇女| 亚洲欧美另类在线| 久久av在线播放| 特黄一区二区三区| 欧美制服丝袜第一页| 成年人视频网址| 国产精品伦一区二区三级视频| 欧美性猛交xxxx富婆| 国产视频不卡一区| 欧美下载看逼逼| 国产精品jizz在线观看麻豆| 最近中文字幕av免费高清| 91看片淫黄大片一级| 黄色一级免费视频| 黄色影片网站| 亚洲精品影视在线观看| 国产色在线 com| 三级网站免费看| 亚洲AV成人无码精电影在线| 久久精品国产一区二区三区不卡| 老司机2019福利精品视频导航| 国内自拍中文字幕| 精品一区二区三区久久久| 国产一区亚洲二区| 国产91精品青草社区| 在线视频你懂得一区二区三区| 好看的日韩av电影| 先锋影音男人av资源| 国产精品综合久久久久久| 91豆花视频在线播放| 在线免费观看一区二区三区| 亚洲mv在线观看| 色综合色综合| 97影院在线观看| 一二三区精品福利视频| 福利在线国产| 日本高清在线观看视频| 性插视频在线观看| 蜜乳av一区二区三区| 国产精品成人免费| 欧美制服第一页| 猛男gaygay欧美视频| 日本一区二区三区四区高清视频| 国产成人无码www免费视频播放| 精品乱人伦一区二区三区| 精品一区二区三区日本| 少妇精品久久久久久久久久| 国产精品一品| 欧美精品日韩一本| 国产精品午夜久久| www.99re6| 丝袜美腿亚洲综合| 免费在线精品视频| 成人毛片100部免费看| 国产伦精品一区二区三区视频痴汉| 午夜精品免费|