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 не.
попробуйте просто работает
enable-migrations -ContextTypeName Songbirds.Dal.EntityFramework
добавить .songBirdsContext до конца может быть проблема.