我正在使用CSLA 3.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)
我错过了什么?
谢谢!
答案 0 :(得分:0)
确保您使用的是正确的app.config文件。 ConfigurationManager查看当前正在运行的项目(即您的测试项目和/或您的Windows窗体/控制台应用程序)。
ContextManager的默认行为是使用ConfigurationManager查找命名连接字符串,除非您将true传递给ContextManager中的第二个参数,然后它将只使用提供的字符串作为连接字符串。