【发布时间】: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