我有一个基于我的模式创建数据库的 MVC 代码优先应用程序。在生产机器上,我们需要首先创建数据库(空的,没有表),以便我们可以在连接字符串中为我的 dbcontext 分配正确的用户名和密码。考虑到数据库是在生产环境中创建的,我的代码应该做什么?
我不能使用 DropCreateDatabaseIfModelChanges 因为已经创建了没有元数据的数据库..并且不能使用 DropCreateDatabaseAlways 因为我只需要第一次创建它。
我也试过这个:
if (context.Database.Exists() && !context.Database.CompatibleWithModel(false))
context.Database.Delete();
if (context.Database.CreateIfNotExists())
但是由于某种原因,context.Database.CompatibleWithModel(false) 在空数据库上总是返回 TRUE...