在本节中,您将使用Entity Framework Code First来实现模型类上的操作。从而使得这 些操作和变更,可以应用到 数据库 中。
默认情况下,就像您在之前的教程中所作的那样,使用 Entity Framework Code First自 动创建一个数据库,Code First为数据库所添加的表,将帮助您跟踪数据库是否和从它生 成的模型类是同步的。如果他们不是同步的,Entity Framework将抛出一个错误。这非 常方便的在开发时就可以发现错误,否则您可能会在运行时才发现这个问题。 (由一个晦涩的错误信息,才发现这个问题。)
为对象模型的变更设置 Code First Migrations 从解决方案资源管理器中双击 Movies.mdf ,打开数据库工具, 在数据库工具 (数据库资源管理器、 服务器 资源管理器或 SQL Server 对象资源管理器),右键单击 Movies.mdf , 并选择删除。
Code First Migrations
Movies.mdf
Build应用程序,以确保没有任何编译错误。 从工具菜单上,单击库包管理器,然后点击程序包管理器控制台。
在程序包管理器控制台窗口,在提示符 PM> 后输入: Enable-Migrations -ContextTypeName StudyMVC.Models.MovieDBContext
注意 :如果你设置了其他项目名称,请自行修改。 如上所示的 Enable-Migrations 命令,会在Migrations 文件夹下创建一个 Configuration.cs 文件。
Enable-Migrations
Configuration.cs
Code First Migrations 调用Seed的方法,每个迁移(程序包管理器控制台 更新数据库 ),此方法用于updates数据(如果数据存在),或inserted数据。 在AddOrUpdate方法在下面的代码执行一个的“upsert”操作:
context.Movies.AddOrUpdate(i => i.Title, new Movie