您将使用实体框架代码第一次迁移迁移到模型类的一些变化,所以该更改应用于数据库
1、在App-data文件夹中的Movies.mdf文件上点击鼠标右键并选择删除来删除电影数据库
2、从工具菜单上,单击库程序包管理器,然后程序包管理器控制台.
在程序包管理器控制台窗口中 PM>
提示输入
-ContextTypeName MvcMovie.Models.MovieDBContext 然后点击回车。 MvcMovie是项目的名字
3、在新的迁移文件夹rationsMig中创建一个Configuration.cs文件。
4、打开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 } ); } 5、创建一个DbMigration
类用于初始迁移。在程序包管理器控制台窗口中,输入命令add-migration Initial
创建初始迁移。代码第一次迁移会在迁移文件夹中创建另一个类文件201508270142453_Rating.cs。6、通过将新的Rating
属性添加到现有的Movie类
。打开Models\Movie.cs文件并添加像这样的Rating
属性:7、你还需要更新视图模板来显示、 创建和编辑浏览器视图中的新Rating
属性。此时运行程序会报错,因为在应用程序中更新后的Movie
模式类现在比Movie
表的现有数据库的架构不同。再执行一下操作8、打开 Migrations\Configuration.cs 文件,并将评级字段添加到影片的每个对像
9、生成解决方案,然后打开程序包管理器控制台窗口并输入以下命令:
add-migration Rating。当此命令完成,Visual Studio 会打开类文件中定义新的
DbMIgration
派生类,并在Up
的方法,你可以看到代码,创建新列
10、生成解决方案,然后在程序包管理器控制台窗口中输入update-database
命令。重新运行程序,添加新字段成功。
时间: 2024-10-09 09:50:02