Я обновил проект до Entity Framework 4.3 и включил миграции в проекте.Ошибка при запуске Update-Database с EF 4.3
Однако, я получаю эту ошибку при выполнении команды Update-Database:
Не может эшафот следующей миграции, потому что целевая база данных были создан с версией Code First раньше, чем EF 4.3 и не содержит историю миграций Таблица. Чтобы начать использовать миграции для этой базы данных, убедитесь, что текущая модель совместима с целевой базой данных и выполняет процесс обновления миграций. (В Visual Studio вы можете использовать команду «Обновить базу данных» из консоли диспетчера пакетов, чтобы выполнить процесс обновления миграций).
В принципе, мне говорят, что я запускаю ту же команду (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
Спасибо! Я думаю, что я собираюсь пойти по пути создания таблицы _MigrationHistory, поскольку у меня есть много данных в базе данных, которые мне нужно использовать. –
У II была аналогичная проблема, мне также нужно было хранить данные. Но при попытке добавить столбцы путем редактирования модели и «Добавить-миграции новых столбцов», но созданная миграция хотела сбросить все и начать все заново. Решением к этому было добавить начальную миграцию, прежде чем что-либо редактировать, что привело к классу переноса с пустым методом «вверх-вниз». THEN я редактировал мою модель и запускал еще одну Add-Migration, которая создала новый класс миграции именно с теми изменениями, которые мне нужны. Не отбрасывая ничего. – Moulde