Использование тестовых данных или реальных данных в зависимости от настроек приложения в .Net? - PullRequest
0 голосов
/ 28 марта 2011

Я видел, как это было сделано, когда кто-то установил две настройки приложения;один содержит строку подключения тестовых данных, а другой - строку подключения живых данных.Они используют один и тот же dbml независимо от того, на какую реальную базу данных они указывают, затем всякий раз, когда они устанавливают контекст данных, они просто указывают настройки, которые они хотели бы использовать. Я хотел бы реализовать это, но мне было интересно, есть ли какие-нибудь хорошие посты в блоге или учебное пособие, показывающее, как это сделать правильно, или есть более «готовая» альтернатива.

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Преобразование конфигурации в зависимости от типа сборки?

1 голос
/ 28 марта 2011

Вот что я использую:

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

и в классе вызова:

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

Кроме того, для справки / О программе:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...