'Entity Framework Core - Changing Database Schema at runtime without running migration

I have a .NET Core 5 application with Entity Framework (code first) with migrations and Azure SQL database.

I want to run two separate applications on same DB with different data. I want to have test and demo application. My idea was to change schema for each application. One application will have schema "test." and another one "demo.".

I tried to do this with this article

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.HasDefaultSchema("demo");
}

Problem is that I need to run Add-Migration with this approach. And I don't want to do that.

There is also another way that I didn't try. Described here

Problem there is that I need to create EntityConfiguration for each Entity and I don't want to do this neither.

I want to set schema globally for all tables at once.

Is there a way how to do this without creating new migrations? Or is there a better way without changing scheme?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source