Проект Equinox переносит базу данных

#c# #asp.net #database #asp.net-core

#c# #asp.net #База данных #asp.net-core

Вопрос:

В настоящее время я учусь создавать rest API с asp.net ядро.
Я нашел проект на GitHub, который реализует некоторые технологии, которые меня интересуют. https://github.com/EduardoPires/EquinoxProject

Сейчас я пытаюсь настроить этот проект.
Моя главная проблема заключается в том, чтобы add migrations или в update database .

При попытке Add-Migration init -Context EquinoxContext я получаю это сообщение об ошибке:

Не удается создать объект типа ‘EquinoxContext’. О различных шаблонах, поддерживаемых во время разработки, см.https://go.microsoft.com/fwlink/?linkid=851728

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

Я добавил файлы dbcontext в метод ConfigureServices startup.cs в Equniox.Services.Api

         services.AddDbContext<EquinoxContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), b => b.MigrationsAssembly("Equinox.Infra.Data")));

        services.AddDbContext<EventStoreSQLContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), b => b.MigrationsAssembly("Equinox.Infra.Data")));
  

Если я использую GenerateDataBase.sql из файлов проекта, проект работает хорошо, но я хочу понять, как создать базу данных из code base.

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

Ответ №1:

Решение изменить сервисы.AddScoped<‘EquinoxContext’>(); по службам.AddDbContext <‘EquinoxContext’> ();

Y services.AddScoped<‘EventStoreSQLContext’>(); по службам.AddDbContext<‘EventStoreSQLContext’>();

в

NativeInjectorBootStrapper.cs

Консоль:

Запуск проекта: Api

Основной проект: Данные