entity-frameworkentity-framework-coreentity-framework-migrationsentity-framework-core-2.1entity-framework-core-migrations

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


I currently have an efcore 2.1 project with about 230 entities and about 350 migrations. Every time i add an efcore migration, a designer file is created. This file is approximately 535 kb and growing (150mb total for alle designer files). This makes the IDE slow and unresponsive, refactoring is a no go, it also makes the build process slower. If i delete all designer files, the build goes down from 110 to 20 seconds, and the IDE gets snappy again.

however, once I delete all designer files, i'm not able to work with the "dotnet ef database" command.

I have also previously merged all migrations. this worked, except there were some issues doing this in a team setting (had to run manual commands on each developer machine, no team members could have any unsynced migrations etc) and it is only temporary as the migrations start piling up again after a while.

I am curious if there are other projects with the same problem, and how they work around this?


Solution

  • Now, in the future, it's possible to add an .editorconfig file to the Migrations folder, with the following contents:

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

    It will disable all analyzers, which makes my IDE much happier with all the migrations.

    Note: requires Visual Studio 16.5