Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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
Entity framework core EF核心数据库更新_Entity Framework Core_Ef Core 2.0 - Fatal编程技术网

Entity framework core EF核心数据库更新

Entity framework core EF核心数据库更新,entity-framework-core,ef-core-2.0,Entity Framework Core,Ef Core 2.0,伙计们,我们把Framework7迁移到了EFCore2.0。所以现在我们有一个小问题 当我们使用EntityFramework7时,毫无疑问,它很容易更新客户端数据库 但在EF core中存在一个问题,原因是每次更改都必须添加迁移,因此在这种情况下,我们现在有100个迁移历史记录 示例:2018031306924_新版本、146890130633934_新版本等 所以,当我们更新客户端数据库时,我们必须保留100个迁移历史记录 但我认为这不是一个好办法,当它的生产水平 无论如何都有办法解决这个

伙计们,我们把Framework7迁移到了EFCore2.0。所以现在我们有一个小问题

当我们使用EntityFramework7时,毫无疑问,它很容易更新客户端数据库

但在EF core中存在一个问题,原因是每次更改都必须添加迁移,因此在这种情况下,我们现在有100个迁移历史记录

示例:2018031306924_新版本、146890130633934_新版本等

所以,当我们更新客户端数据库时,我们必须保留100个迁移历史记录 但我认为这不是一个好办法,当它的生产水平


无论如何都有办法解决这个问题。这会很有帮助的。谢谢

这正是EF和EFCore的工作方式

每次迁移都表示需要对DbContext/数据库进行修改,以使其与模型的更改保持一致。因此,如果您有更改,它们将由迁移表示

在我看来,一种不太干净的解决方案可能是:

删除当前数据库 删除整个迁移目录也有效,可以删除迁移目录中的所有迁移文件和Snapshot.cs文件 添加新迁移,例如初始化创建 结果将只有一个迁移表示当前项目的model/dbcontext状态。 该方法只有在项目仍处于开发阶段且在任何阶段都没有任何部署的情况下才可能实现

请注意,我不推荐这种解决方案/方法。在我看来,你应该让迁移保持原样

有关更多信息,请阅读以下内容:


你先用代码吗?如果我理解正确,问题是您有100多次迁移?项目/数据库仍处于开发阶段?没有部署任何内容?是的,我们首先使用代码,但仍然没有部署:D现在我们正在使用1。删除当前数据库,因为我们仍然不在生产级别。但是,解决方案是将迁移文件保留为其原始文件。如果我发现了一些东西,请让我在这里发布,谢谢!!我不明白你的解决办法是什么。请更准确地解释。