部署实体框架代码第一数据库

时间:2012-05-25 19:59:27

标签: asp.net-mvc-3 sql-server-2008 entity-framework-4.1 ef-code-first

我有一个使用Entity Framework(4.3.1)Code First数据库的ASP.NET MVC 3应用程序。现在,我想创建一个包含数据库的综合zip文件,Visual Studio 2010生成的应用程序包以及一个脚本,用于将所有内容部署到带有IIS7的SQL 2008服务器和带有准备好的(但是空的)数据库的SQL Server 2008。

我没有预见到应用程序包的部署有任何问题,但我不确定在部署数据库时使用什么方法。目标环境已经有一个空的数据库已分配给我,但我被告知删除和创建数据库是正常的。

根据我的阅读,我可以直接将.mdf和.ldf文件复制到服务器,然后设置我的连接字符串以指向该特定文件,但这种方法忽略了已经存在的数据库为我创造(或至少命名)。另一种方法是使用现有的.mdf在服务器上使用脚本创建数据库。我唯一的问题是我想保留分配给我的数据库名称。

1 个答案:

答案 0 :(得分:8)

我通常使用SQL Management Studio在本地连接到我的开发数据库并右键单击数据库,选择任务 - >生成脚本。然后我选择整个数据库或只是我要保留的表,单击下一步,然后单击高级按钮,确保我正在编写“模式和数据”脚本,然后生成一个我可以运行的sql脚本生产数据库,因此保留表结构和开发数据库中的数据。显然,如果您不想保留数据,那么只需编写模式脚本。然后,将应用程序的连接字符串指向新的生产环境数据库,然后就可以了。