Миграция включена для контекста, но база данных не существует или не содержит сопоставленных таблиц.

CreditoImobiliarioBB.Web

Здесь определены все интерфейсы. Имеет ссылку на проект CreditoImobiliarioBB.EntityFramework и EF6.
Здесь определяется Нет конфигурации (мы используем FluentApi) или миграции.

CreditoImobiliarioBB.EntityFramework

Здесь определен наш универсальный репозиторий и DbContext. Все конфигурации и миграции выполняются здесь.

CreditoImobiliarioBB.Domain

Наш домен дизайна. Вот все наши доменные классы и интерфейсы (например, IEntity)

CreditoImobiliarioBB.Repository

Вот реализация репозитория. Например EmployeesRepository

Ошибка

Когда мы запускаем наше приложение, возникает следующая ошибка:

Миграция включена для контекста «CreditoImobiliarioContext», но база данных не существует или не содержит сопоставленных таблиц. Используйте миграцию для создания базы данных и ее таблиц, например, запустив команду «Обновить базу данных» из консоли диспетчера пакетов.

Соображения

  1. База данных была создана со всеми конфигурациями, также известными как EntityTypeConfiguration<>, через «Обновление базы данных».

  2. Ошибка возникает в проекте CreditoImobiliarioBB.EntityFramework в универсальном классе Repository

Репозиторий.cs

Ошибка в строке return _unitOfWork.Context.Set<T>().Where(expression);

public abstract class Repository<T> : IRepository<T>
        where T : class, IEntity
{
    private readonly EFUnitOfWork _unitOfWork;
    public Repository(IUnitOfWork unitOfWork)
    {
        _unitOfWork = (EFUnitOfWork)unitOfWork;
    }

    public void Delete(T obj)
    {
        _unitOfWork.Context.Set<T>().Remove(obj);
    }

    public void Store(T obj)
    {
        if (_unitOfWork.Context.Entry(obj).State == System.Data.Entity.EntityState.Modified)
            _unitOfWork.Context.Set<T>().Attach(obj);
        else
            _unitOfWork.Context.Set<T>().Add(obj);
    }

    public IQueryable<T> All()
    {
        return _unitOfWork.Context.Set<T>();
    }

    public object Get(Type entity, int id)
    {
        return _unitOfWork.Context.Set(entity).Find(id);
    }

    public T Get(Expression<Func<T, bool>> expression)
    {
        return _unitOfWork.Context.Set<T>().SingleOrDefault(expression);
    }

    public T Get(int id)
    {
        return _unitOfWork.Context.Set<T>().Find(id);
    }

    public IQueryable<T> Query(Expression<Func<T, bool>> expression)
    {
        return _unitOfWork.Context.Set<T>().Where(expression);
    }

    public IUnitOfWork UnitOfWork
    {
        get { return _unitOfWork; }
    }
}

person ridermansb    schedule 04.07.2013    source источник
comment
что находится в [dbo].[__MigrationHistory]?   -  person phil soady    schedule 06.08.2013
comment
посмотрите, этот ответ сработал со мной stackoverflow.com/a/32614660/4251431   -  person Basheer AL-MOMANI    schedule 09.06.2016