ASP.Net无法从国际空间站看到我的数据库

时间:2016-05-29 13:46:36

标签: c# asp.net asp.net-core

我决定学习如何使用引用通过存储库模式创建一个简单的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."

为清楚起见,让我概述一下解决方案的结构:

  • aspProj
    • 控制器
    • 浏览
    • 服务
    • App.config(1)
    • 的Web.config
    • ...
  • 数据库
    • 实体
    • 存储库
    • App.config(2)
    • ...
  • Database.Test
    • test.cs中
    • App.config(3)
    • ...

我已将以下connectionString添加到所有App.configWeb.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部分想要访问它时,没有爱。

我认为可能是国际空间站不知道它的路径......

有什么想法吗?

__

修改

我的Web.config: enter image description here

我的AppSetting.json: enter image description here

1 个答案:

答案 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添加一个新元素,它应该可以正常工作