开发者

Using Test data or live data depending on application setting in .Net?

开发者 https://www.devze.com 2023-02-20 12:49 出处:网络
I have seen it done where someone has set up two application settings; one containing the test data connection string and the other containing the live data connection string. They use the same dbml n

I have seen it done where someone has set up two application settings; one containing the test data connection string and the other containing the live data connection string. They use the same dbml no matter which actual database they are pointed to, then whenever they set the data context they just sp开发者_JS百科ecify the setting they would like to use. I would like to implement this, but was wondering if there are any good blog posts or tutorial showing how to do this correctly, or if there is a more "out-of-the-box" alternative.


Config transformations based on build type?


Here's what I use:

Friend Sub connect(ByVal isDebuggerAttached As Boolean)
    Dim server As String
    Dim dbName As String

    If isDebuggerAttached Then
       server = "DHSDEV10069\DSD"
    Else
       server = "dhs10073sql"
    End If

    dbName = "DSDWorkPlanTracking"

    _connect = "Data Source=" & server & ";Database=" & dbName & ";Integrated Security=true"
    _connect = _connect & ";Application Name = " & My.Application.Info.AssemblyName
End Sub

and in the calling class:

    Try
        Model.instance.connect(System.Diagnostics.Debugger.IsAttached)
    Catch ex As Exception
        MsgBox("Sorry, couldn't connect to database " & ex.Message)
    End Try

Also, for Help/About:

Private Sub mnuHelpAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuHelpAbout.Click
    Dim msg As String
    Dim appName As String

    If My.Application.Info.Title <> "" Then
        appName = My.Application.Info.Title
    Else
        appName = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
    End If
    msg = appName & vbCrLf & vbCrLf
    msg = msg & "Version: " & Application.ProductVersion & vbCrLf & vbCrLf  ' the file version displayed in .exe properties.  Assembly version is for internal builds and doesn't need to change for one developer.
    msg = msg & "User: " & My.User.Name & vbCrLf & vbCrLf
    msg = msg & "Connection: " & Model.instance.connection & vbCrLf & vbCrLf
    MsgBox(msg, MsgBoxStyle.OkOnly, appName)
End Sub
0

精彩评论

暂无评论...
验证码 换一张
取 消