Вопрос

Я использую первые миграции кода, чтобы создать и обновить базу данных для моего сайта ASP MVC.

У меня есть DBContext, который находится в другом проекте в решении.

public class EFDbContext : DbContext
{
    public DbSet<Book> Books { get; set; }
    public DbSet<Author> Authors { get; set; }
    public DbSet<Publisher> Publishers { get; set; }
}
.

Когда я включаю - миграции и добавлению [name] . Похоже, создает свою собственную БД под названием

[foo-projectname].Domain.Concrete.EFDbContext
.

вместо присоединения к базе данных, который я создал, называется [foo-projectname] . В WebConfig для сайта строка подключения ссылается на каталог « [Foo-ProjectName] ".

Если я изменим WebConfig в другую базу данных, то я получаю результаты от элементов, которые я добавил в эту базу данных. Однако я хочу использовать базу данных, которую я создал.

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

Модель, поддерживающая контекст «EFDBContext», поскольку ...

Даже когда я ничего не изменил.

Это было полезно?

Решение

X - это имя проекта, которое содержит полученный класс DbContext.

    .
  • Убедитесь, что генеракодицетагCode на Default project X
  • Убедитесь, что проект Active Start Up на решении - X

Другой обходной путь, предоставьте следующие параметры при запуске синтаксиса миграции.

-ProjectName X -StartUpProjectName X
.

Некоторые параметры Описание:

-ProjectName <String>
    Specifies the project that contains the migration configuration type to be
    used. If omitted, the default project selected in package manager console
    is used.

-StartUpProjectName <String>
    Specifies the configuration file to use for named connection strings. If
    omitted, the specified project's configuration file is used.

-ConfigurationTypeName <String>
    Specifies the migrations configuration to use. If omitted, migrations will
    attempt to locate a single migrations configuration type in the target
    project.

-ConnectionStringName <String>
    Specifies the name of a connection string to use from the application's
    configuration file.

-ConnectionString <String>
    Specifies the the connection string to use. If omitted, the context's
    default connection will be used.
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top