Чувак, я бы на твоем месте не стал
- При развертывании строки подключения для всех ваших сред будут распространяться на все ваши среды (проблема безопасности)
- Вы отклоняетесь от стандартной реализации, что означает боль в долгосрочной перспективе
Но если вам действительно нужно, вам, вероятно, придется сделать что-то вроде этого: (это может даже не работать)
<db:provider id="PRODDbProvider" provider="SqlServer-2.0" connectionString="whateveritis" />
<db:provider id="DEVDbProvider" provider="SqlServer-2.0" connectionString="whateveritis" />
<object id="genericAdoTemplate" type="CustomAdoTemplate">
<property name="DbProviders">
<dictionary>
<entry key="PROD" value="PRODDbProvider" />
<entry key="DEV" value="DEVDbProvider" />
</dictionary>
</property>
</object>
Тогда создайте собственный AdoTemplate
public class CustomAdoTemplate : Spring.Data.Generic.AdoTemplate {
public object DbProviders {
get;
set;
}
public override object DbProvider {
get {
return DbProviders[GetCurrentEnvironmentKey()];
}
}
}