放入Web.config时DropCreateAlways数据库初始化程序不起作用

时间:2013-08-01 12:30:10

标签: c# entity-framework

我的Web.config中有以下内容

<entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  <contexts>
    <context type="Models.EVRMDBContext, EVRM">
      <databaseInitializer type="System.Data.Entity.DropCreateAlways`1[[Models.EVRMDBContext, EVRM]], EntityFramework" />
    </context>
  </contexts>
</entityFramework>

但是,只要我使用/查询我的DBContext,就不会创建数据库。当我使用

在Global.asax中设置databaseInitializer时
System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseAlways<EVRM.Models.EVRMDBContext>());

它确实初始化了数据库。

(将实体框架5与MVC4一起使用)

2 个答案:

答案 0 :(得分:1)

  

但是,只要我实例化我的DBContext,就不会创建数据库。

正确。您需要运行查询。

答案 1 :(得分:1)

web.config中有一个拼写错误,应该是“System.Data.Entity.DropCreateDatabaseAlways”而不是“System.Data.Entity.DropCreateAlways”