我在 VS2010 上有 VB.NET 解决方案文件,格式如下
Code.Business (Business layer) .vb classes.
Code.Data (Data layer) LINQ to SQL .dbml files.
Code.Web (UI layer) - ASPX pages.
我的数据层中有一个datacontext
,并且有一个更改的默认构造函数
Public Sub New()
MyBase.New(ConfigurationManager.ConnectionStrings("MyConStr").ConnectionString, mappingSource)
OnCreated()
End Sub
现在,所有网页都使用此datacontext
到业务层vb类。
我正在尝试切换到正确的数据库(Dev / Test / Prod)。我想使用上面的构造函数并为(“MyConStr”)传递正确的值,以便它可以指向正确的数据库。
我的 web.config
文件中包含所有三个值(Dev / Test / Prod)。
在 Global.asax - Application_Start event
中,我正在读取web.config
到应用程序变量的值。
Dim strDBCon As String = ConfigurationManager.AppSettings(strServer & "_connstr")
Application("ConString") = strDBCon
我尝试了应用程序("Constring"
),但似乎没有保留该值,我无法在datacontext
的默认构造函数上切换值
有没有人有更好的解决方案呢?
答案 0 :(得分:0)
我认为您可以为数据上下文添加partial class
。请参阅此链接的Handling Multiple Result Shapes from SPROCs
:
LINQ to SQL (Part 6 - Retrieving Data Using Stored Procedures)
我认为您可以使用partial class
编写自己的构造函数