¿Usa un repositorio de EF con objetos de conexión personalizados?

Estoy atascado en EF 6 y la documentación es escasa, no se resuelve eso por un día ahora.

Intento usar Code First en un repositorio de base de datos que tenemos. Debido a la compleja inicialización Idebe uso mi propio método de fábrica para inicializar la subclase de contexto y yodebe poner mi propia conexión sql o hacer mi propia fábrica.

La siguiente inicialización de clase:

tenemos:

public class Repository : DbContext {

static string _connectionString;

    static Repository() {
        Database.SetInitializer<Repository>(null);
        var type = typeof(System.Data.Entity.SqlServer.SqlProviderServices);
        _connectionString = ** method to get connection string**
    }

    public static Repository Create() {
        SqlConnection connection = new SqlConnection(_connectionString);
        connection.Open();
        connection.BeginTransaction(IsolationLevel.ReadCommitted).Commit();
        return new Repository(connection);
    }

Lamentablemente, se ejecuta con la siguiente excepción en el primer intento de seleccionar alguna entidad:

No se puede determinar el nombre del proveedor para la fábrica del proveedor del tipo 'System.Data.SqlClient.SqlClientFactory'. Asegúrese de que el proveedor ADO.NET esté instalado o registrado en la configuración de la aplicación.

Estoy totalmente fuera de mi mente cómo arreglar eso.

Mi archivo de configuración en el uso de la aplicación web dice:

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0" />
    </providers>   
</entityFramework>

¿Alguien puede decirme cómo arreglar eso? Mi alternativa es volver al modelo primero, pero realmente me gustaría probar primero el código aquí.

Respuestas a la pregunta(1)

Su respuesta a la pregunta