#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
Основной проект: Данные