Este grupo de trabajo ha estado mucho tiempo investigando para dar solución a tu interrogante, te ofrecemos la resolución por esto esperamos resultarte de gran apoyo.
Solución:
Si echa un vistazo a la documentación oficial de las cadenas de conexión en asp.net core, su ejemplo muestra la conexión string guardado en appsettings.json
Me gusta esto
"ConnectionStrings":
"BloggingDatabase": "Server=(localdb)\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;"
,
Que, cuando se adaptara a su ejemplo, se convertiría.
"ConnectionStrings":
"DefaultConnection": "Server=.\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true",
"FooBar": "Server=.\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
Configuración del contexto en Startup.cs
con la configuración string ser leído desde la configuración usaría el GetConnectionString()
método con la configuración key
public void ConfigureServices(IServiceCollection services)
// Add framework services.
services
.AddEntityFramework()
.AddSqlServer()
.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnextionString("DefaultConnection")))
.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnextionString("FooBar")));
Ahora, un problema observado con la configuración del contexto anterior en la pregunta original es que ahora hay dos cadenas de conexión para el mismo contexto.
Intentar usar varias cadenas de conexión para trabajar en el mismo contexto causará problemas, ya que el marco no sabría qué opción usar al solicitar el contexto.
Eres capaz de confirmar nuestra misión fijando un comentario y dejando una valoración te lo agradecemos.