В проекте asp.net core + entity framework core мне не очень нравится, как быстро пухнет папка миграций и я стал часто squash'ить (как в гите — не знаю точного термина) миграции: было несколько миграций, когда добавил ещё одну и проверил, что она работает — и после этого схлопываешь.
Делается в пару шагов:
- Нужно удалить последнюю миграцию при помощи команды
Remove-Migration - Создать заново миграцию при помощи стандартного
Add-Migration
Это не очень удобно делать на проектах, ушедших в продакшен (на машине разработчика не проблема катать туда-сюда миграции, а обновлять прод не особо удобно) — но пока проект ещё в активной разработке с нуля, то просто милое дело.
И вот в одном проекте я держу две миграции: одна называется IdentitySchema (почти дефолтная схема asp.net identity) и ещё одна называется MyProjectName:
Только вот почему-то в файле .csproj я до сих пор вижу все удалённые транзакции:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
...
</PropertyGroup>
<ItemGroup>
<Compile Remove="Migrations\20180330073133_фываTable.cs" />
...
<Compile Remove="Migrations\20180330215324_фываTable.cs" />
<Compile Remove="Migrations\20180408111937_CreateMyAppSchema.cs" />
<Compile Remove="Migrations\20180512001200_CreateMyAppSchema.cs" />
</ItemGroup>
...
</Project>
И я хочу понять, что это за строчки, зачем они нужны студии и можно ли их безболезненно удалить. (Вроде как можно, пробовал, но не выйдет ли это потом где-то боком?)

.vsв db файлах. И вероятно, есть возможность откатить назад, командами, вот оно это и содержит. – NewView Dec 12 '18 at 00:42IncludeнаRemove, то после загрузки проекта этот в нем отсутствует (и все места использования этого класса подчеркиваются красным), хотя физически он находится в той же папке. Таким образом, если этих файлов физически уже нет, то эти строчки ни на что не влияют – Андрей NOP Dec 12 '18 at 05:22