Ошибки компиляции Entity Framework Core при второй миграции - PullRequest
0 голосов
/ 16 мая 2019

У меня есть DBContext (унаследованный от IdentityDbContext), содержащий таблицы удостоверений ASP.NET и некоторые пользовательские таблицы.

Я создал для него миграцию, которая работала нормально.

Теперь я добавил несколько наборов DB в DbContext и назвал

dotnet ef migrations add SecondMigration ...

Это приводит к 2 ошибкам компилятора после создания миграции.

Duplicate 'DbContext' attribute

и

Type 'IdDbContext' already defines a member called 'BuildModel' with the same paramter types.

Я не понимаю, почему это так, потому что я сделал то же самое в другом проекте (для другого dbcontext, не наследующего от identitydbcontext) два дня назад, и это сработало без проблем.

Эта штука сводит меня с ума уже сейчас ...

Есть идеи, что может быть причиной того, что во второй раз я получаю ошибки компилятора?

1 Ответ

0 голосов
/ 16 мая 2019

И, наконец, я выяснил причину. К сожалению, не источник проблемы, но по крайней мере исправление, которое работает вручную.

Команда add migrations создает пространство имен для каждой миграции.

Итак, у меня есть ... Миграции. Первая миграция и ... Миграции. Вторая миграция

При создании второй миграции создаются файлы

  • Timestamp_SecondMigration.cs
  • Timestamp_SecondMigration.Designer.cs
  • IdDbContextModelSnapshot.cs

Первые два создаются в пространстве имен SecondMigration, но по какой-то причине он создает третий файл в пространстве имен FirstMigration. Это вызывает проблему.

Просто измените пространство имен с FirstMigration на SecondMigration, и ошибки компилятора исчезнут ...

Надеюсь, у этого нет побочных эффектов, которых я пока не знаю ...


Если у вас 1 DbContext с 3 миграциями, должен ли быть 1 ModelSnapshot или 3 ModelSnapshots?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...