0

我目前正在处理一个在 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 的值,但不确定这是否可行。

请指教。谢谢

4

1 回答 1

0

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

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

于 2013-10-14T08:33:49.773 回答