ASP.NET MVCシリーズ:既存モデルに新しい属性を追加
再コンパイル再生成ソリューション、ショートカットキーCtrl+Shift+B;その後、対応するビューに新しいデータ(Indexなど)を追加する.cshtmlで
編集が完了し、実行後にシステムから「System.I n v a l idOperationException」タイプの例外がEntityFrameworkに報告されました.dllで発生しますが、ユーザーコードでは処理されません.
この異常の原因は、MovieクラスにデータベースよりRating列が1つ増えているため、データベースにRatingフィールドを追加する必要があります.データベースファイルの編集を開くだけでいいです.
ここでは、Code First移行を使用してデータベースを更新する方法について説明します.
まず、App_Dataフォルダの下にあるデータベースファイル(Movies.mdf)を削除し、「パッケージマネージャコンソール」(ツールメニューの「NUGetパッケージマネージャ」から入手可能)を開き、コンソールにEnable-Migrations-ContexttypeName MvcMovieと入力します.Models.MovieDBContext
継続入力コマンドadd-migration Initial
Migrations Configuration.cs , Configuration Seed , , 。 , update-database ,
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 }); }
update-database , Seed ,
Rating , Rating , ,Rating , , Note、Screenwriters...; Rating, , , Rating
add-migration Rating, update-database
, Rating
, add-migration update-database ; , 。
update-database , Migrations
http://www.asp.net/mvc/overview/older-versions/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table