EF 6 Enable-миграции не могут найти контекст

Я пытаюсь настроить первые миграции кода EF в EF 6.1.3 - .NET 4.5.

мое решение имеет несколько проектов в нем, проект запускаSongbirds.Web. Я создал проект с именем Songbirds.Dal.EntityFramework чтобы содержать мои репозитории, контекст базы данных и миграции.

Я создал свой класс контекста:

namespace Songbirds.Dal.EntityFramework
{
    public class SongbirdsDbContext : IdentityDbContext<ApplicationUser>, IUnitOfWork
    {
        public SongbirdsDbContext()
            : this("name=SongbirdsDBContext")
        {
        }
        ...
    }
}

все решение строится правильно без ошибок.

Я вхожу в консоль Project Manager и устанавливаю проект по умолчанию Songbirds.Dal.EntityFramework и запустить и я получаю следующую ошибку:

PM> enable-migrations
No context type was found in the assembly 'Songbirds.Dal.EntityFramework'.

Я попытался явно указать тип контекста со следующим результатом:

PM> enable-migrations -ContextTypeName Songbirds.Dal.EntityFramework.SongbirdsDbContext
The context type 'Songbirds.Dal.EntityFramework.SongbirdsDbContext' was not found in the assembly 'Songbirds.Dal.EntityFramework'.

SongbirdsDbContext является частью певчих птиц.Далматинец.Проект и EntityFramework. Есть идеи, что я сделал неправильно и почему он не распознает контекст?

3 ответов


Я думаю, я нашел ответ методом проб и ошибок. Сначала я изменил класс контекста для наследования от класса DbContext вместо IdentifyDbContext:

public class SongbirdsDbContext : DbContext

и снова запустил enable-migrations команда, чтобы найти следующую ошибку:

Could not load file or assembly 'Microsoft.AspNet.Identity.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

после добавления соответствующей ссылки на требуемую сборку мне удалось успешно включить миграции. Я не уверен, почему наследование от DbContext показало эту ошибку при наследовании от IdentityDbContext не.


убедитесь, что ваш проект по умолчанию установлен в проект с контекстом EF.


попробуйте просто работает

enable-migrations -ContextTypeName Songbirds.Dal.EntityFramework

добавить .songBirdsContext до конца может быть проблема.