Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC维护两种不同的模型_Asp.net Mvc_Entity Framework - Fatal编程技术网

Asp.net mvc MVC维护两种不同的模型

Asp.net mvc MVC维护两种不同的模型,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我们有一个MVC项目,其中我们完成了第一阶段的开发 现在,对于第2阶段,我们的数据库更改和edmx模型文件将根据开发而更改 此外,第一阶段的错误和更改将同时修复 那么,如何在生产服务器和开发服务器中维护我的edmx文件呢 生产服务器和开发服务器中的edmx文件 您需要使用某种版本控制机制,如TFS,通过适当的分支和合并,您可以管理开发和生产版本。或者你也有,还有很多其他的 此外,您还必须计划在生产版本和开发版本之间的数据库版本迁移。对于EF,您可以使用它 生产服务器和开发服务器中的edmx文件

我们有一个MVC项目,其中我们完成了第一阶段的开发

现在,对于第2阶段,我们的数据库更改和edmx模型文件将根据开发而更改

此外,第一阶段的错误和更改将同时修复

那么,如何在生产服务器和开发服务器中维护我的edmx文件呢

生产服务器和开发服务器中的edmx文件

您需要使用某种版本控制机制,如TFS,通过适当的分支和合并,您可以管理开发和生产版本。或者你也有,还有很多其他的

此外,您还必须计划在生产版本和开发版本之间的数据库版本迁移。对于EF,您可以使用它

生产服务器和开发服务器中的edmx文件

您需要使用某种版本控制机制,如TFS,通过适当的分支和合并,您可以管理开发和生产版本。或者你也有,还有很多其他的


此外,您还必须计划在生产版本和开发版本之间的数据库版本迁移。对于EF,你可以使用。

你有一些选择要考虑。首先,作为任何其他更改的先驱,按照@ramilu所说的去做,并将代码置于源代码控制之下

在此之后,您将面临如何处理作为更改的一部分引入的数据库模式更改的问题。以下是您可以选择的一些路线:

  • 转向代码优先开发,以便可以使用数据库迁移。我在模型优先和代码优先模式中都使用了实体框架。我的经验是,数据库迁移功能减少的麻烦远远超过了在代码和数据库之间建立映射的可视化模型所带来的任何好处。如果需要,还可以使用一些工具从代码中反向生成模型
  • 按照模型优先的方法,您可以考虑生成SQL更新脚本,以在部署之间提供数据库增量。然后,它们将被添加到具有某种命名约定的文件夹中,以指示应用它们的顺序(例如yyyymmd descripion.sql)。生成增量的一种方法是使用VisualStudio中的工具。您可以选择将数据库的当前开发版本保留为解决方案中的数据库项目,尽管数据库项目和从模型生成的数据库之间存在不一致的危险
  • 再次坚持模型优先的方法,您可以在部署时使用生成delta-SQL脚本,例如。这样做的好处是,您不需要维护一组增量脚本,也不需要处理知道特定数据库的增量集的版本的问题。缺点是,如果delta脚本在运行之前需要进行一些修改(在有大量数据或设置了一些异常模式的场景中可能会这样做),那么总体部署时间就会变长

  • 总的来说,我真的建议看一下选项1,代码第一开发选项。

    你有一些选择要考虑。首先,作为任何其他更改的先驱,按照@ramilu所说的去做,并将代码置于源代码控制之下

    在此之后,您将面临如何处理作为更改的一部分引入的数据库模式更改的问题。以下是您可以选择的一些路线:

  • 转向代码优先开发,以便可以使用数据库迁移。我在模型优先和代码优先模式中都使用了实体框架。我的经验是,数据库迁移功能减少的麻烦远远超过了在代码和数据库之间建立映射的可视化模型所带来的任何好处。如果需要,还可以使用一些工具从代码中反向生成模型
  • 按照模型优先的方法,您可以考虑生成SQL更新脚本,以在部署之间提供数据库增量。然后,它们将被添加到具有某种命名约定的文件夹中,以指示应用它们的顺序(例如yyyymmd descripion.sql)。生成增量的一种方法是使用VisualStudio中的工具。您可以选择将数据库的当前开发版本保留为解决方案中的数据库项目,尽管数据库项目和从模型生成的数据库之间存在不一致的危险
  • 再次坚持模型优先的方法,您可以在部署时使用生成delta-SQL脚本,例如。这样做的好处是,您不需要维护一组增量脚本,也不需要处理知道特定数据库的增量集的版本的问题。缺点是,如果delta脚本在运行之前需要进行一些修改(在有大量数据或设置了一些异常模式的场景中可能会这样做),那么总体部署时间就会变长
  • 总的来说,我真的建议看一下选项1,代码优先开发选项