sportdog

导航

 

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;
        }
    }
}

 

posted on 2014-10-23 09:20  sportdog  阅读(368)  评论(0编辑  收藏  举报