Я только что обновил проект с помощью первой модели кода от Entity Framework 6.0.2 до 6.1.0.
После обновления context.Database.CompatibleWithModel(true)
возвращает значение false, поэтому EF считает, что база данных больше не совместима с моделью. Я ничего не изменил, просто обновил EF.
Я запустил Add-Migration
, чтобы увидеть, что произойдет, и EF создал большую миграцию, которая, по-видимому, создает индекс для каждого свойства внешнего ключа для каждой таблицы:
public override void Up()
{
CreateIndex("dbo.ActivityStreams", "UserId");
CreateIndex("dbo.Users", "OfficeId");
CreateIndex("dbo.Offices", "ParentId");
CreateIndex("dbo.Rosters", "UserId");
...and many more similar lines...
Я предполагаю, что это связано с новыми функциями индекса в EF 6.1? Немного странно, но хорошо.
Когда я Update-Database
применяется новая миграция, есть ошибки, которые уже существуют. Глядя в базу данных и на предыдущие миграции, почти все индексы действительно уже существуют.
Что я сделал здесь неправильно? Существует ли процедура обновления EF?