Falta el nombre del proveedor al depurar AzureFunction y al implementar la función azul
Tengo un problema para obtener unDbContext
para extraer correctamente mi cadena de conexión de milocal.settings.json
Contexto:
Este es un proyecto de función de AzureEl código del problema principal está enSystem.Data.Entity.Internal.AppConfig
Aunque tengo unlocal.settings.json
archivo esto no es dotnet core. Es .net 4.6.1Mensaje de error:
'La cadena de conexión' ShipBob_DevEntities 'en el archivo de configuración de la aplicación no contiene el atributo requerido de providerName. "'
Configuración de Json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": ""
},
"ConnectionStrings": {
"ShipBob_DevEntities": {
"ConnectionString": "metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string='data source=***;initial catalog=***;persist security info=True;User Id=***;Password=***;;multipleactiveresultsets=True;application name=EntityFramework'",
"providerName": "System.Data.EntityClient"
}
}
}
Versiones de configuración probadas:
Mover el nombre del proveedor al realConnectionString
valor del token: se produce el mismo errorEstablecer elprovider
atributo dentro deConnectionString
atribuir aEntityClient
: esto no hizo nadaHaciendoShipBob_DevEntities
un valor de cadena = al valor deConnectionString
: esto arroja nuevos errores cuyos gustos son
los metadatos de palabras clave no son compatibles
Intenté usar una cadena de conexión ADO que arroja uncode first
excepción que parece ocurrir cuando su cadena de conexión es incorrecta en undatabase first
acercarse a, aproximarse.
Me he tomado la libertad de descompilarEntityFramework.dll
utilizandodotPeek y han rastreado el problema hastaSystem.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig
. Dentro de este método hay una llamada aLazyInternalConnection.FindConnectionInConfig
que escupe unConnectionStringSettings
objeto que tiene esProviderName
valor establecido en nulo. Lamentablemente no puedo depurar elAppConfig.cs
clase que parece usar para generar este valor, así que estoy atascado.
Hasta ahora he consultado estos dos artículos. Uno de los cuales establece poner el nombre del proveedor como su propio token; Sin embargo, esto no está funcionando.
https://github.com/Azure/azure-functions-cli/issues/193
https://github.com/Azure/azure-functions-cli/issues/46
¿Alguien sabe el formato correcto para usar en local.settings.json para una conexión de Entity Framework?