Ошибка миграции Entity Framework 4.3

Я только что установил EF 4.3-beta1 для удобства миграции, и я не могу заставить его работать. Я получаю сообщение об ошибке:

PM> Update-Database -Verbose
Using NuGet project 'Project.Domain'.
Using StartUp project 'ProjectWebSite'.
System.InvalidOperationException: No migrations configuration type was found in the assembly 'Project.Domain'.
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.FindConfiguration()
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.GetMigrator()
   at System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.RunCore()
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
No migrations configuration type was found in the assembly 'Project.Domain'.

Я добавил новый столбец в 2 класса EF:

public class MasterInstance
{
    public int MasterInstanceId { get; set; }
    [Required] public string HostName { get; set; }
    [Required] public string Name { get; set; } /* <-- THIS IS NEW */
    [Required] public string ConnectionString { get; set; }
    public virtual ICollection MasterInstanceLocations { get; set; }
}

И мой DbContext выглядит так:

public class ProjectDontext: DbContext, IProjectContext
{
    public IDbSet Installers { get; set; }
    public IDbSet MasterInstances { get; set; }
    public IDbSet MasterInstanceLocations { get; set; }
}

Есть идеи? Мои классы и контекст EF находятся в отдельной сборке (Project.Domain). Я пробовал запустить базу данных обновлений в контексте как основного веб-сайта, так и проекта домена, и в любом случае получаю ту же ошибку.

- РЕДАКТИРОВАТЬ -

Решение найдено. Оказывается, вам нужно включить миграции для вашего проекта. Вы можете сделать это, запустив Enable-Migrations в консоли NuGet (убедитесь, что у вас выбран правильный проект - для меня это был проект project.domain).

Это пошаговое руководство предоставляет дополнительную информацию

13
задан Matt Roberts 30 January 2012 в 15:00
поделиться

2 ответа

Даже когда миграция включена, описанное поведение может произойти, если неправильное Проект По умолчанию было выбрано в выпадающем меню Консоль Диспетчера пакетов. Неграфический путь вокруг состоит в том, чтобы развернуть команду, которую Вы используете и определяете корректное название проекта с параметром -ProjectName

Update-Database -Verbose -ProjectName TheCorrectProjectName

, Вы могли бы все еще добраться, предупреждение как

не Может определить действительный проект запуска. Используя проект 'TheCorrectProjectName' вместо этого. Ваш конфигурационный файл и рабочий каталог не могут быть установлены как ожидалось. Используйте-StartUpProjectName параметр для установки того явно.

, Тем не менее, этот дополнительный параметр командной строки решил проблему для меня.

0
ответ дан 1 December 2019 в 21:34
поделиться

Для меня произошла эта ошибка, потому что мне выбрали неправильный проект в Проекте "Пульта Диспетчера пакетов По умолчанию" в VS2019.

0
ответ дан 1 December 2019 в 21:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: