JimB_ Ответов: 1

Как создать миграцию базы данных, когда приложение имеет два dbcontext в ASP.NET ядро 3 ?


Я использую приложение Asp net core 3 visual studio оно имеет следующее :

проект в виде RazorPages со структурой wwwroot, моделями, страницами, сервисами, настройками приложений, запуском и программой

Папки:

- Model => PrimaryDBContext => Это мой первичный DBcontext, мне нужно настроить этот контекст в Startup как первичный, а контекст из DataService как вторичный

- Services => DataService: он имеет вторичный DBContext (у меня есть его в качестве вторичного контекста из основного проекта, содержащего пользователей (таблицу) ). Я использую этот DBContext для входа в систему (чтобы утверждать личность пользователя), чтобы использовать его только для учетных данных электронной почты и пароля.

-appsettings => Он имеет две строки подключения для моего основного и вторичного контекста


Проблема в том, что когда я хочу создать миграцию, это говорит о том, что существует конфликт между контекстом. Это не позволяет создать миграцию для проекта.

Как я могу настроить свой основной контекст и вторичный контекст для создания миграции?
(Я не хочу включать вторичный контекст для миграции)

Как я могу определить в проекте, что мой основной контекст-это контекст, который нужно подобрать для миграции?

Заранее спасибо

Что я уже пробовал:

//In Startup I set up ConnStrings

 public void ConfigureServices(IServiceCollection services)
{

services.AddScoped<IDataService, DataService>();

services.AddDbContext<PrimaryDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("PrimaryDbConnString")));

services.AddScoped<SecondaryDbContext>(options => new SecondaryDbContext(Configuration.GetConnectionString("SecondaryConnString")));


}

1 Ответов

Рейтинг:
4

Richard Deeming

Вам нужно будет указать, для какого контекста вы добавляете миграцию:

Add-Migration InitialCreate -Context PrimaryDbContext -OutputDir Migrations\PrimaryDbContext
Add-Migration InitialCreate -Context SecondaryDbContext -OutputDir Migrations\SecondaryDbContext
dotnet ef migrations add InitialCreate --context PrimaryDbContext --output-dir Migrations/PrimaryDbContext
dotnet ef migrations add InitialCreate --context SecondaryDbContext --output-dir Migrations/SecondaryDbContext