1

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

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

我也试过这个:

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

            if (context.Database.CreateIfNotExists())

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

4

1 回答 1

0

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

于 2012-05-08T22:30:35.750 回答