Saltar al contenido

El valor no puede ser nulo. Nombre del parámetro: connectionString appsettings.json en el motor de arranque

Solución:

En primer lugar, el

 "Data": {
"ConnectionStrings": {
  "DefaultConnection": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"},
}

Es ligeramente diferente de la estructura que obtiene cuando agrega un “Archivo de configuración Asp.NET” en Visual Studio. Cuando haces eso, obtienes

"ConnectionStrings": {
  "DefaultConnection": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"},

sin el objeto JavaScript “Datos”. Por eso el método de extensión no funciona. Espera esta estructura. Puede usar esta estructura (la que tiene “Datos”) de todos modos y obtener su cadena de conexión así:

var connectionString = Configuration["Data:ConnectionStrings:DefaultConnection"];

Observe que está navegando por el árbol de objetos de JavaScript usando : en lugar de .. Eso se debe a algunos problemas multiplataforma con el uso de ..

Si edita los “Datos”: {} puede hacer esto:

var connectionString = Configuration["ConnectionStrings:DefaultConnection"];

Ahora el método de extensión funcionará. Debajo de las extensiones de Microsoft, es lo mismo que el código anterior.

var config2 = Configuration.GetConnectionString("DefaultConnection");

Me faltaba la letra ‘s’ después de la ConnectionString nombre de propiedad en appsettings.json cuando se usa Configuration.GetConnectionString("name")

ingrese la descripción de la imagen aquí

Si quieres copiar

"ConnectionStrings ": {
  "SpyStore": "Server=(localdb)\mssqllocaldb;Database=SpyStore;Trusted_Connection=True;MultipleActiveResultSets=true;"
}

La redacción del método GetConnectionString me confundí, lo pasé por encima y, oh, espera, estaba buscando ConnectionStrings nombre de propiedad en lugar de Cadena de conexión

DefaultConnection es el objeto interno en la estructura json y es el hijo de Data objeto.

Entonces, si desea ser exacto con su archivo de configuración, puede usar

var connStr = Configuration.GetSection("Data")
                           .GetSection("DefaultConnection")["ConnectionString"];
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *