¿Cómo ocultar connectionStrings en Github para Entity Framework y Membresía, que se usará más tarde en AppHarbor?

Sé que el título parece algo confuso, así que déjame explicarte. 🙂

Tengo un Proyecto MVC 3.0 para el cual mantengo un repository público @ github, y dicho Proyecto utiliza el Marco de la Entidad y el Proveedor de Membresía (de modo que son dos cadenas de connection separadas).

El problema que estoy teniendo es que el atributo "Alias" de Sequilizer para la database MS SQL, vamos a especificar solo un valor de connectionString para ser reemplazado en el momento de la compilation. Como no puedo modificar web.config programáticamente (y las transformaciones web.config no son aplicables porque dejarán mis datos confidenciales abiertos al mundo en el repository público de github), me queda elegir qué más quiero usar -> Entidad o Membresía (la otra solución dejaría vulnerable a uno de mis connectionStrings).

Debido a la necesidad de MembershipProvider de conocer el connectionStringName en el momento de la compilation (todo está especificado en web.config), no sé cómo hacer todo esto.

¡Cualquier ayuda es apreciada!

Aclamaciones

De acuerdo chicos, creo que configuré todo finalmente.

Lo que hice fue utilizar el alias solo para mi cadena de connection normal que proporcionará membresía, mientras que superé el constructor pnetworkingeterminado ObjectContext (en "MyProjectEntities.Designer.cs") para usar la variable de configuration (llamada "EntityFramework") que configurado en AppHarbor que tiene el Entity Framework connectionString así:

public MyProjectEntities() : base(ConfigurationManager.AppSettings["EntityFramework"].ToString(), "eTestHubEntities") { this.ContextOptions.LazyLoadingEnabled = true; OnContextCreated(); } 

Probado y funciona como yo quería que funcione. 🙂