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至此讲完了,欢迎大家就实践过程中遇到的问题与我讨论!!!

posted @ 2012-07-20 09:45  Evan Hua  阅读(2440)  评论(4编辑  收藏  举报