如何处理正在减慢构建和 IDE 的巨大 ef 核心迁移设计器文件

How to handle huge efcore migrations designer files that is slowing down build and IDE

我目前有一个 efcore 2.1 项目,其中包含大约 230 个实体和大约 350 个迁移。每次我添加 efcore 迁移时,都会创建一个设计器文件。该文件大约为 535 kb,并且还在不断增加(所有设计师文件总计 150mb)。这使得 IDE 缓慢且无响应,重构是行不通的,它还使构建过程变慢。如果我删除所有设计器文件,构建时间将从 110 秒减少到 20 秒,并且 IDE 再次变得活泼。

但是,一旦我删除了所有设计器文件,我就无法使用 "dotnet ef database" 命令。

我之前也合并过所有的迁移。这很有效,除了在团队设置中存在一些问题(必须 运行 在每台开发人员机器上手动命令,没有团队成员可以有任何未同步的迁移等)并且它只是暂时的,因为迁移开始堆积过一会儿再来。

我很好奇是否有其他项目也有同样的问题,他们是如何解决这个问题的?

您可以使用其他程序集来管理迁移。

现在,将来可以将 .editorconfig 文件添加到 Migrations 文件夹,其内容如下:

# All files
# Sets generated code for all migrations
[*]
generated_code = true

它将禁用所有分析器,这让我的 IDE 对所有迁移更加满意。

注:需要Visual Studio16.5

您可以尝试清除您的迁移文件。我有时用它来保持数据模块小和可编译。您会发现 this link 有用。

我认为您的问题与 and 重复。整个主题在这些线程的各种答案中进行了讨论。

我建议考虑我的 in order to get your IDE snappy again and to reduce compilation time. And in the long run, it seems good practice to roll-up all migrations into one from time to time. If this is not urgent in your case, you might want to wait for this feature(计划用于 .NET 6),它允许您以更简单的方式这样做。