【问题标题】:EF Code First deploymentEF 代码优先部署
【发布时间】:2012-05-17 06:20:03
【问题描述】:

我有一个 MVC 代码优先应用程序,它根据我的模式创建数据库。在生产机器上,我们首先需要创建数据库(空的,没有表),以便我们可以在连接字符串中为我的 dbcontext 分配正确的用户名和密码。考虑到数据库是在生产环境中创建的,我的代码应该怎么做?

我不能使用 DropCreateDatabaseIfModelChanges,因为已经创建了一个没有元数据的数据库。并且不能使用 DropCreateDatabaseAlways,因为我只需要第一次创建它。

我也试过这个:

 if (context.Database.Exists() && !context.Database.CompatibleWithModel(false))
                context.Database.Delete();

            if (context.Database.CreateIfNotExists())

但由于某种原因,context.Database.CompatibleWithModel(false) 在空数据库上总是返回 TRUE...

【问题讨论】:

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


    【解决方案1】:

    您可能需要通过 SQL 脚本手动部署数据库架构。您可以从生产数据库实例生成脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-31
      • 2014-08-21
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2013-05-16
      相关资源
      最近更新 更多