如果在不同的项目中使用,EF Code First DB将被删除

时间:2013-01-11 10:05:50

标签: asp.net asp.net-mvc entity-framework ef-code-first

我有一个使用Entity Framework Code First模型的应用程序。

项目的结构如下所示

  • Application.Models POCO对象
  • Application.EF EF数据上下文和存储库
  • Application.Web.MVC 网络应用程序(设计师)

上下文初始值设定项如下所示:

public class DBContextInitializer : DropCreateDatabaseIfModelChanges<DBContext>
{
     protected override void Seed(DBContext context)
     {

     }
 }

现在,我有另一个API应用程序,它从API调用数据库获取数据。该项目看起来像这样:

  • Application.Api.MVC 包含DTO对象的MVC4 API项目
  • Application.Models 相同项目
  • Application.EF 相同项目

即使我没有更改POCO类(在Application.Models项目内),实体框架也检测到元数据已更改,并尝试删除并重新创建数据库。如果它这样做,当我运行Designer应用程序(Application.Web.MVC)时,它会再次丢弃它,依此类推。

我不知道为什么会这样做。我不是在改变模型。

1 个答案:

答案 0 :(得分:0)

请忽略这个问题,一切正常。我指的是另一个数据库。

此外,这是了解EF迁移的一个很好的理由