2012-05-08 236 views
1

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

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

我也试过这样:

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

      if (context.Database.CreateIfNotExists()) 

但context.Database.CompatibleWithModel(假)返回TRUE总是出于某种原因一个空数据库...

回答

0

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