Исключения для первых миграций кода Entity Framework

Я получаю несколько необработанных исключений при использовании Code First Migrations of Entity Framework 4.3.

Контекст базы данных:

public class MyAppContext : DbContext
{
   public DbSet<Branch> Branches { get; set; }

   public MyAppContext()
   { }
}

Организация:

public class Branch : IEntity<Guid>
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public bool Active { get; set; }
 }

Инициализатор базы данных:

public class MyAppInitializer : CreateDatabaseIfNotExists<MyAppContext>
{
   protected override void Seed(MyAppContext context)
   {
      context.Branches.Add(new Branch() { Id = branchId, Name = "Acme", Description = "Acme", Active = true });
      context.SaveChanges();
   }
}

Я установил Entity Framework 4.3 в свой проект DAL и MVC, используя:

Установить-пакет EntityFramework

Я установил проект MVC в качестве запускаемого проекта и выполнил следующую команду для проекта DAL с контекстом базы данных и инициализатором:

PM> Enable-Migrations -Verbose

Использование проекта NuGet «Ckms.KeyManagement.Managers». Ошибка при поиске типа контекста (укажите -Verbose, чтобы увидеть подробности исключения). System.Data.Entity.Migrations.Design.ToolingException: невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации. в System.Data.Entity.Migrations.Design.ToolingFacade.Run (BaseRunner runner) в System.Data.Entity.Migrations.Design.ToolingFacade.GetContextTypes ()
at System.Data.Entity.Migrations.MigrationsCommands.FindContextToEnable () Отредактируйте сгенерированный класс Configuration, чтобы указать контекст, для которого необходимо выполнить миграции. Первоначальные миграции кода включены для проекта Ckms.KeyManagement.Managers.

Дочерний класс DbMigrationsConfiguration добавлен в проект DAL. Если я добавлю тип DbContext вручную и включу автоматическую миграцию:

internal sealed class Configuration : DbMigrationsConfiguration<MyAppContext>
{
   public Configuration()
   {
      AutomaticMigrationsEnabled = true;
   }

   protected override void Seed(MyAppContext context)
   { }
}

Эти исключения генерируются для команд Add-Migration и Update-Database:

PM> Add-Migration TestEFMigrationsColumn -Verbose

Использование проекта NuGet «Ckms.KeyManagement.Managers». Использование проекта StartUp ''. System.Reflection.TargetInvocationException: исключение было сгенерировано целью вызова. ---> System.ArgumentException: параметр неверен. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG)) --- Конец внутренней трассировки стека исключений --- в System.RuntimeType.InvokeDispMethod (Строковое имя, BindingFlags invokeAttr, Объектная цель, Object [] args, Boolean [] byrefModifiers, Int32 culture , String [] namedParameters) в System.RuntimeType.InvokeMember (имя строки, BindingFlags bindingFlags, связыватель связывателя, цель объекта, модификаторы Object [] provideArgs, ParameterModifier [], CultureInfo culture, строка String [] namedParams) в System.Management.Automation. ComMethod.InvokeMethod (метод PSMethod, аргументы Object []). Исключение было выдано целью вызова.

Обновление базы данных:

PM> Обновление-База данных -Verbose

Использование проекта NuGet «Ckms.KeyManagement.Managers». Использование проекта StartUp ''. System.Reflection.TargetInvocationException: исключение было сгенерировано целью вызова. ---> System.ArgumentException: параметр неверен. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG)) --- Конец внутренней трассировки стека исключений --- в System.RuntimeType.InvokeDispMethod (Строковое имя, BindingFlags invokeAttr, Объектная цель, Object [] args, Boolean [] byrefModifiers, Int32 culture , String [] namedParameters) в System.RuntimeType.InvokeMember (имя строки, BindingFlags bindingFlags, связыватель связывателя, цель объекта, модификаторы Object [] provideArgs, ParameterModifier [], культура CultureInfo, строка String [] namedParams) в System.Management.Automation. ComMethod.InvokeMethod (метод PSMethod, аргументы Object []). Исключение было выдано целью вызова.

Есть идеи? Сообщения об ошибках не очень полезны. Я пробовал команды Nuget с и без существующей базы данных.

Ответы на вопрос(6)

Ваш ответ на вопрос