EntityFramework CodeFirst 4.3 step by step (4)
昨晚睡不着,想想还是再写点Migration的东西吧,一大早发布到园子里给各位兄弟鉴赏!
上面两篇关于Migration的文章都是介绍如何进行Codebase-Migration的,你肯定要说:烦不烦啊,改点东西就要Package Manager Console里面敲命令。。。
有木有一种自动的Migration方式,在我改好DomainModel后只要敲一次命令就全帮我搞定?这个可以有啊!!!
下面我们介绍Automatic-Migration:
CodeFirst默认的是Codebase-Migration,我们直接把Migrations文件夹中的Configuration类的构造函数中的
AutomaticMigrationsEnabled设为True就OK(不用去敲什么命令了,我敲了敲发现有时候会出一些很无聊的错,你试了就知道,但我觉得没必要试)
假设我们要Blog类中增加User属性,在User类中增加Gender属性,然后一次性更新数据库
Blog
1 class Blog 2 { 3 public int BlogId { get; set; } 4 public string Name { get; set; } 5 public string Type { get; set; } 6 public User User { get; set; } 7 }
View Code
1 class User 2 { 3 public int UserId { get; set; } 4 public string UserName { get; set; } 5 public string MyBlog { get; set; } 6 public string Gender { get; set; } 7 }
在类中分别添加对于属性,然后Package Manager Console中敲入"update-database -verbose"然后回车,你会发现CodeFirst真是太聪明了,自动为你的Blog表建立了一个外键(我们暂且不讨论外键好不好,需不需要),按正常的设计思想它的确为我们实现了应该实现的!
Migration至此讲完了,欢迎大家就实践过程中遇到的问题与我讨论!!!