برای ساخت کانکشن از کلاس SqlConnectionStringBuilder و برای ذخیره در app.config از رفرنس و فضای نام System.Configuration استفاده کنید:
private void SaveConnection(string connectionName, string dataSource, string initialCatalog, string username, string password)
{
SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder
{
DataSource = dataSource,
NetworkLibrary = "DBMSSOCN",
InitialCatalog = initialCatalog,
UserID = username,
Password = password
};
Configuration config = ConfigurationManager.OpenExeConfiguration(Configur ationUserLevel.None);
ConnectionStringSettings dbConnString = config.ConnectionStrings.ConnectionStrings[connectionName];
if (dbConnString == null)
{
config.ConnectionStrings.ConnectionStrings.Add(new ConnectionStringSettings(connectionName,
csb.ConnectionString));
}
else
{
dbConnString.ConnectionString = csb.ConnectionString;
}
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStr ings");
}
از اونجایی که LinqToSql کانکشن خودش رو از setting میخونه بایست حتما کانکشن جدید رو از فایل app.config خونده و به سازنده مدل context ارسال کنید.
ConnectionStringSettings dbConnection = System.Configuration.ConfigurationManager.Connecti onStrings[connectionName];
DataClasses1DataContext db = new DataClasses1DataContext(dbConnection.ConnectionStr ing);