¿Cómo puedo hacer que LINQ to SQL use una cadena de conexión que se está modificando en tiempo de ejecución?

Estoy experimentando algunas dificultades tratando de usarConstructores de cadenas de conexión (ADO.NET) dentro de LINQ to SQL. Déjame mostrarte lo que estoy tratando de hacer:

laapp.config expediente:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="LoremIpsum"
             connectionString="Data Source=SomeServer;Initial Catalog=SomeDB;User ID=joe;"
             providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

y un fragmento de la forma:

ConnectionStringSettings settings = 
    ConfigurationManager.ConnectionStrings["LoremIpsum"];
if (null != settings)
{
    string connection = settings.ConnectionString;
    SqlConnectionStringBuilder builder = 
         new SqlConnectionStringBuilder(connection);

    // passwordTextBox being the control where joe the user actually 
    // enters his credentials           
    builder.Password = passwordTextBox.Text;
}

LINQTOSQLDataClassDataContext db = new LINQTOSQLDataClassDataContext();

// finally some rather anecdotic LINQ sentence here:
var foo = db.Table.Single(bar => bar.Table == whatever);

Por otro lado comprobando elVentana inmediata:

?builder.ConnectionString
"Data Source=SomeServer;Initial Catalog=SomeDB;User ID=joe;Password=swordfish"

Siempre recibo una excepción: Error de inicio de sesión para el usuario 'joe'. ¿Algunas ideas? Muchas gracias de antemano.

Respuestas a la pregunta(3)

Su respuesta a la pregunta