首先部署实体框架代码

时间:2011-04-06 22:45:51

标签: entity-framework deployment code-first entity-framework-4.1

我想在开始我的项目之前我应该​​想到这一点,但我已经使用代码优先方法成功构建并测试了一个迷你应用程序,我准备将其部署到生产Web服务器。

我已将文件夹移至我的登台服务器,一切正常。我很好奇是否有建议的部署策略?

如果我对应用程序进行了更改,我不希望在重新启动应用程序时丢失所有数据。

我应该从代码优先项目生成数据库脚本,然后将其移动到我的服务器吗?

任何提示和指南链接都会很有用。

感谢。

2 个答案:

答案 0 :(得分:5)

实际上,数据库初始化程序仅适用于开发。将此类代码部署到生产环境是解决问题的最佳方法。 Code-first目前没有任何数据库演进方法,因此您必须在新版本之后手动为数据库构建更改脚本。最简单的方法是在VS Studio 2010 Premium和Ultimate中使用数据库工具。如果您将拥有一个包含旧架构的数据库和一个包含新架构的数据库,VS将为您准备更改脚本。

答案 1 :(得分:1)

以下是我要遵循的步骤。

  1. 注释掉我正在使用的任何初始化策略。
  2. 为除EdmMetadata表之外的所有表生成架构+数据的数据库脚本,并在Web服务器上运行它们。 (当然,如果它是生产服务器,请小心这一步。就我而言,在开发过程中,生产和开发中的数据是相同的。)
  3. 将我的解决方案提交给subversion,然后触发TeamCity构建,测试和部署到Web服务器(当然,您将拥有自己的方法来执行此步骤,但不知何故将网站部署到Web服务器)。
  4. 你们都完成了!
  5. 仅用于开发需要Initializer和EdmMetadata表。

相关问题