0

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 クラスを介してすべての Web ページから使用されます。

正しいデータベース(Dev/Test/Prod)に切り替えようとしています。上記のコンストラクターを使用し、("MyConStr")に正しい値を渡して、正しいデータベースを指すようにしたいと考えました。

ファイルに 3 つの値(Dev/Test/Prod)がすべて含まれていweb.configます。

で、アプリケーション変数Global.asax - Application_Start eventから値を読み取っています。web.config

 Dim strDBCon As String = ConfigurationManager.AppSettings(strServer & "_connstr")
 Application("ConString") = strDBCon

Application( "Constring")を試してみましたが、値が保持されていないようで、デフォルトのコンストラクターで値を切り替えることができませんdatacontext

このシナリオのより良い解決策はありますか?

4

1 に答える 1

0

partial classデータコンテキストに追加できると思いますHandling Multiple Result Shapes from SPROCs。このリンクを参照してください:

LINQ to SQL (パート 6 - ストアド プロシージャを使用したデータの取得)

partial class独自のコンストラクターの作成に使用できると思います

于 2013-01-11T20:38:45.173 に答える