EF CodeFirst学习笔记002--更新数据库表

BlogEntities这个类从DbContext继承,负责数据库的更新.

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<BlogEntities>());

这段代码表示:当具体的类发生变化时将重新删除现有的数据库,重新生成新的数据库.

测试:

  1. 修改TestUser类中的TestUserName为updateUserName
  2. 执行程序
  3. TestUsers表字段为updateUserId(重新创建的新表)
  4. Blogs表原来的数据不见了,说明是删除了数据库,重新创建的新数据库.

问题: 在测试数据库中做这样的操作是允许的,但在正式的生产环境将十分危险.

namespace EfStudy
{
    public class BlogEntities:DbContext
    {
        static BlogEntities()
        { 
            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<BlogEntities>());
          
        }

        public DbSet<Blog> Blogs
        {
            get;
            set;
        }

        public DbSet<BlogType> BlogTypes
        {
            get;
            set;
        }

        public DbSet<TestUser> TestUsers
        {
            get;
            set;
        }
    }
}
原文地址:https://www.cnblogs.com/sportdog/p/4044965.html