如何使用一种方法更改多个连接字符串值

时间:2013-10-14 04:29:16

标签: asp.net vb.net linq web-config

我目前正在处理在Linq中为其数据检索结构开发的.Net系统。这个系统是上次由其他开发人员开发的,现在我正在处理一个大问题。

我从这个系统发现的一个不好的做法(或者我只是不确定为什么开发人员必须这样做),在/ appData / DataContext /里面,有很多.dbml文件和.designer.vb ,例如Product.designer.vb文件,由这段代码组成:

Private Shared mappingSource As System.Data.Linq.Mapping.MappingSource = New AttributeMappingSource    
Public Sub New()
            MyBase.New(Global.System.Configuration.ConfigurationManager.ConnectionStrings("DBconstr").ConnectionString, mappingSource)
            OnCreated
    End Sub

我目前的主要挑战是,我需要更改为所有DBconstr的新连接字符串名称并指向另一个数据库,同时保持web.config中的当前“Dbconstr”设置。如果我必须手动完成,我需要查找和替换整个系统中有超过400行。所以我需要建议,如果有任何方法我可以使用一个或几个直接方法更改所有硬编码连接字符串,而不是手动更改所有400多行?

我曾考虑在.Master页面中调用某个方法,并覆盖所有子页面的.ConnectionString值,但不确定是否可行。

请指教。感谢

1 个答案:

答案 0 :(得分:0)

你应该看看这个:http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx。它解释了如何使用web.config转换。它基本上允许根据您的解决方案/构建配置修改设置的值(即连接字符串) “动态”修改配置文件要比在代码中修改配置文件容易得多。

您还应该检查我在同一主题上提供的这两个答案: