0

CSLA3.6を使用しています

エラーが発生し続けます:

DataPortal.Fetchが失敗しました(データベース名が構成ファイル(AdventureWorksLT)に見つかりません)

私のDataportal_Fetchコードは次のようになります:

Private Overloads Sub DataPortal_Fetch(ByVal criteria As SingleCriteria(Of Customer, Integer))
    Using ctx = ContextManager(Of DalLinq.AdventureWorksDataContext).GetManager(DalLinq.Database.AdventureWorksLTConnectionString)
        Dim data = (From p In ctx.DataContext.Customers Where p.CustomerID = criteria.Value Select p).Single
        LoadProperty(Of Integer)(CustomerIdProperty, data.CustomerID)
        LoadProperty(Of String)(CompanyNameProperty, data.CompanyName)
    End Using
End Sub

私のDatabase.vbファイルは次のようになります。

Public Class Database

    Public Const AdventureWorksLTConnectionString As String = "AdventureWorksLT"

End Class

そして私のApp.Configファイルには次のものが含まれています(stackoverflowのために<と>の文字を(と)に置き換えます:

(connectionStrings)
    (add name="AdventureWorksLT" connectionString="Data Source=(local);Initial Catalog=AdventureWorksLT;User Id=AdvWorks;Password=UserPW;"
            providerName="System.Data.SqlClient" /)
   (/connectionStrings)

私は何が欠けていますか?

ありがとう!

4

1 に答える 1

0

正しい app.config ファイルを使用していることを確認してください。ConfigurationManager は、現在実行中のプロジェクト (つまり、テスト プロジェクトおよび/または Windows フォーム/コンソール アプリ) を調べます。

ContextManager のデフォルトの動作は、ContextManager の 2 番目のパラメーターに true を渡さない限り、ConfigurationManager を使用して名前付き接続文字列を検索することです。指定された文字列を接続文字列として使用します。

于 2009-05-27T06:24:05.617 に答える