Вот подход, который будет работать для всех сгенерированных табличных адаптеров с использованием отражения:
void OnObjectDataSourceObjectCreated(object sender, ObjectDataSourceEventArgs e)
{
if (e.ObjectInstance != null)
{
((SqlConnection)e.ObjectInstance.GetType()
.GetProperty("Connection", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance )
.GetValue(e.ObjectInstance, null)
).ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
}
}
Обратите внимание, что свойство Connection, создаваемое Microsoft, создается как внутреннее (на моем VS 2013), поэтому вам нужно передать BindingFlags.NonPublic в GetProperty.
И, конечно, так или иначе, подключить событие ObjectCreated:
ObjectDataSource ObjectDataSource1 = new ObjectDataSource();
...
ObjectDataSource1.ObjectCreated += OnObjectDataSourceObjectCreated;