Я обновил проект до Entity Framework 4.3 и включил миграции в проекте.
Тем не менее, я получаю эту ошибку при выполнении команды Update-Database:
Невозможно скомпоновать следующую миграцию, поскольку целевая база данных была создана с версией Code First более ранней, чем EF 4.3, и не содержит таблицу истории миграций. Чтобы начать использовать миграции с этой базой данных, убедитесь, что текущая модель совместима с целевой базой данных, и выполните процесс обновления миграций. (В Visual Studio вы можете использовать команду Update-Database из консоли диспетчера пакетов для выполнения процесса обновления миграций).
По сути, он говорит мне выполнить ту же команду (Update-Database), которая выдает мне ошибку.
Есть идеи?
Не совсем "забавный" способ сделать это, но я позволил приложению создать новую базу данных, которая создает системную таблицу с именем "__MigrationHistory". Затем я запустил следующий скрипт для создания этой таблицы в моей старой базе данных. Я также создал сценарий для копирования одной строки, которая существовала в новой базе данных, в старую базу данных.
Если кто-то из Microsoft или сообщества знает более эффективный способ сделать это, пожалуйста, напишите здесь!
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[__MigrationHistory](
[MigrationId] [nvarchar](255) NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[Model] [varbinary](max) NOT NULL,
[ProductVersion] [nvarchar](32) NOT NULL,
CONSTRAINT [PK___MigrationHistory] PRIMARY KEY CLUSTERED
(
[MigrationId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO