代码首次迁移是否自动在服务器上运行?

Tho*_*enz 3 .net c# entity-framework entity-framework-6

我非常熟悉使用Database First方法的Entity Framework以及如何使用它来部署解决方案.

基本上,在我的数据库第一种方法的解决方案中,我有一个Web客户端项目,它使用数据访问库项目,该项目使用数据库第一种方法进行编码.

因此,首先,我编写一些SQL Server脚本来添加新表(或进行架构更改).

接下来,转到数据访问库项目,使用EF edmx设计器从现有数据库更新.net,编译此数据访问层,并在客户端Web项目中自动更新DDL引用.

当我将解决方案部署到生产服务器时:

  1. 首先,我需要在生产SQL服务器上运行t-SQL脚本
  2. 接下来,我在Web服务器上部署了2个更新的DDL(一个用于Web,一个用于数据访问层).

现在,我有一个新的应用程序,其中包括一个Web项目和一个使用EF Code First方法的数据访问层项目.我是EF代码的第一个新方法.我知道当我更改数据库模式时,例如添加新表,我需要在Visual Studio的包管理控制台中首先运行代码,以便让我的后端数据库实例更改/更新.

我的问题:

当我将应用程序部署到生产环境时,我应该遵循哪些步骤?

如何使用EF Code First方法更新生产SQL Server?

它是一个自动过程还是我必须像在包管理控制台下的Visual Studio中一样手动运行迁移?

谢谢.

Sam*_*ath 5

如果您使用的是Azure,则可以配置它具有自动过程,如下所示.

在此输入图像描述

否则你必须像这样手动完成:

您必须创建一个db脚本,然后可以在生产数据库上运行它.

PM>更新 - 数据库 - 脚本

您可以参考此文档:获取SQL脚本

我normaley使用的另一种选择:

当我需要在生产数据库中运行迁移时,我更改了我的conn字符串以反映生产数据库并在运行之后:

PM>更新 - 数据库