Cómo especificar EntityFramework ProviderName en una función de Azure

Estoy tratando de portar un código de trabajo web a las nuevas funciones de Azure. Hasta ahora he logrado importar mis archivos DLL y hacer referencia a ellos con éxito, pero cuando uso la cadena de conexión en mi código, aparece un error que dice que tengo que agregar el nombre del proveedor:

La cadena de conexión 'ConnectionString' en el archivo de configuración de la aplicación no contiene el atributo obligatorio providerName ".

Lo que normalmente no es un problema porque en un trabajo web (o aplicación web), esto estará en la aplicación o Web.config, y la cadena de conexión simplemente se sobrescribirá con lo que haya ingresado en Azure.

Con Azure Functions, no tengo un web.config (aunque intenté agregar uno en vano), por lo que, naturalmente, falta el nombre del proveedor.

¿Cómo especifico eso?

EDITAR: Después de jugar un poco y algunos consejos útiles de las personas a continuación, hecasi logró que funcione.

Lo que hago ahora es lo siguiente:

    var connString = **MY CONN STRING FROM CONFIG**; // Constring without metadata etc.
    EntityConnectionStringBuilder b = new EntityConnectionStringBuilder();
    b.Metadata = "res://*/Entities.MyDB.csdl|res://*/Entities.MyDB.ssdl|res://*/Entities.MyDB.msl";
    b.ProviderConnectionString = connString.ConnectionString;
    b.Provider = "System.Data.SqlClient";
    return new MyDB(b.ConnectionString);

Lo que me da lo que necesito para llamar a la base de datos. Utilizo un método estático en una clase parcial para obtener una instancia de la base de datos que ejecuta el código anterior, y decoro mi MyDB Parcial con[DbConfigurationType(typeof(MyDbConfiguration))]

Defino esa configuración como:

public class MyDBConfiguration: DbConfiguration
{
    public MyDBConfiguration()
    {
        SetProviderFactory("System.Data.EntityClient", EntityProviderFactory.Instance);
    }
}

Miel problema persiste cuando realmente quiero usar las entidades EF. Aquí, intentará inicializar el tipo de base de datosusando la configuración original, dándome el error original una vez más. Según este seguimiento de la pila:

at Void Initialize()
at System.Data.Entity.Internal.EntitySetTypePair GetEntitySetAndBaseTypeForType(System.Type)
at Void InitializeContext()
at System.Data.Entity.Core.Objects.ObjectContext CreateObjectContextFromConnectionModel()
at Void Initialize()
at Boolean TryInitializeFromAppConfig(System.String, System.Data.Entity.Internal.AppConfig)
at Void InitializeFromConnectionStringSetting(System.Configuration.ConnectionStringSettings)

Entonces¿Cómo evito esto? Supongo que necesito una forma de conectar todo y ejecutar mi setter personalizado ...

Respuestas a la pregunta(6)

Su respuesta a la pregunta