我决定学习如何使用引用通过存储库模式创建一个简单的ASP.Net项目。
我的控制器要求List<Weight>
处理:
public IActionResult MyWeight()
{
var repo = new Database.Repositories.WeightRepository();
var data = repo.GetWeight().Result;
return View(data);
}
调用repo.GetWeight()
时,出现AggregateException
错误,内部异常说:
"No connection string named 'MyDatabaseConnection' could be found in the application config file."
为清楚起见,让我概述一下解决方案的结构:
我已将以下connectionString
添加到所有App.config
和Web.config
:
<connectionStrings>
<add
name="MyDatabaseConnection"
connectionString="Data Source=(localdb)\MSSQLLocalDB;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
我已经从Visual Studio的Server Explorer
和测试项目的Test.cs
文件中测试了数据库。我可以插入数据并检索没有问题。
但是当ASP.Net部分想要访问它时,没有爱。
我认为可能是国际空间站不知道它的路径......
有什么想法吗?
__
修改
答案 0 :(得分:1)
问题很清楚 - ASP.NET正在尝试使用名称为 MyDatabaseConnection 的连接字符串来访问数据库:
<connectionStrings>
<add name="MyDatabaseConnection" connectionString="put the connection to the db here..." />
</connectionStrings>
在您的Web.config中,您只有一个名为 WeightDatabaseConnection 的连接字符串:
<connectionStrings>
<add name="WeightDatabaseConnection" connectionString="put the connection to the db here..." />
</connectionStrings>
只需在 Web.config 文件的<connectionStrings>
下为MyDatabaseConnection添加一个新元素,它应该可以正常工作