EF Code First部署

时间:2012-05-08 18:16:17

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

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

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

我也试过这个:

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

            if (context.Database.CreateIfNotExists())

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

1 个答案:

答案 0 :(得分:0)

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