Jak mogę sprawić, aby LINQ do SQL używał ciągu połączenia, który jest modyfikowany w czasie wykonywania?

Eksperymentuję z pewnymi trudnościami podczas próby użyciaConnection String Builders (ADO.NET) w LINQ do SQL. Pokażę wam, co próbuję zrobić:

app.config plik:

<?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>

i fragment formularza:

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);

Z drugiej strony sprawdzanieNatychmiastowe okno:

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

Zawsze otrzymuję wyjątek: logowanie nie powiodło się dla użytkownika „joe”. Jakieś pomysły? Z góry dziękuję.

questionAnswers(3)

yourAnswerToTheQuestion