参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table

本文内容:

1,学习Entity Framework Code First 迁移功能(Migrations)

2,更新Model ClassModel Class中添加新的字段),然后把更新应用于datebase.


默认情况下,就像我们之前用Models下的movie.cs右键点击直接添加database的时候,Code First自动在数据库中添加新的表来记录新添加的database时候和movie.cs同步,如果不同步,Entity Framework就会跑出错误。这样我们就可以在开发的过程中发现错误,而不是必须在运行的时候才发现错误。

 

一,Model的改变设置Code First Migrations功能(Setting up Code First Migrations for Model Changes),从而可以让movie.cs改变的时候,把改变应用于DatabaseModel类和自动生成的数据库同步)

1,1删除MovieDBContext,删除.mdf文件

ASP.NET MVC 学习6、学习使用Code First Migrations功能,把Model的更新同步到DB中
1.2Ctrl+Shift+B重建解决方案后,打开“套件管理器控制台”:

ASP.NET MVC 学习6、学习使用Code First Migrations功能,把Model的更新同步到DB中

PM>提示符后面执行Enable-Migrations命令开启Code First Migrations功能,我们现在直接输入:Enable-Migrations可以看到提示命令:
ASP.NET MVC 学习6、学习使用Code First Migrations功能,把Model的更新同步到DB中

我们需要Enable的是Movie,直接Copy提示命令中的下面的一行命令:

Enable-Migrations -ContextTypeName MvcMovie.Models.MovieDBContext
开启成功:

ASP.NET MVC 学习6、学习使用Code First Migrations功能,把Model的更新同步到DB中

解决方案下创建了Migrations文件夹:

ASP.NET MVC 学习6、学习使用Code First Migrations功能,把Model的更新同步到DB中
1.3,更改Configuration.cs中的写Seed方法,打开Configuration.cs,我们看到

protected override void Seed(MVCMovie.Models.MovieDBContext context)
        {
            //这个方法将会在Migrations后被调用
            
//  This method will be called after migrating to the latest version.

            
//你可以用DbSet<T>的.AddOrUpdate扩展方法,避免创建重复的数据
            
//  You can use the DbSet<T>.AddOrUpdate() helper extension method 
            
//  to avoid creating duplicate seed data. E.g.
            
//
            
//    context.People.AddOrUpdate(
            
//      p => p.FullName,
            
//      new Person { FullName = "Andrew Peters" },
            
//      new Person { FullName = "Brice Lambson" },
            
//      new Person { FullName = "Rowan Miller" }
            
//    );
            
//
        }
View Code

相关文章:

  • 2021-10-07
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
猜你喜欢
  • 2022-12-23
  • 2021-08-25
  • 2021-06-20
  • 2022-12-23
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案