2016-05-29 48 views
0

我决定学习如何通过存储库模式将一个简单的ASP.Net项目与参考关联到数据库项目。ASP.Net无法从ISS中看到我的数据库

我有我的控制器呼吁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." 

所以为了清楚起见,让我概述解决方案的结构:

  • aspP ROJ
    • 控制器
    • 查看
    • 服务
    • 的App.config(1)
    • 的Web.config
    • ...
  • 数据库
    • 实体
    • App.config中(2)
    • ...
  • Database.Test
    • test.cs中
    • App.config中(3)
    • ...

我已经添加了以下connectionString所有App.config S和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部分想要访问它时,没有爱。

我想这可能是国际空间站这不知道从那里的路径...

有什么想法?

__

编辑:

我的web.config: enter image description here

我AppSetting。JSON: enter image description here

+0

该asp.net项目只需要一个'web.config'文件。连接字符串将进入Web配置文件的部分。 – Nkosi

+0

就像我在**编辑**中所做的一样? –

+0

你的asp项目是什么版本?我注意到你的应用程序设置为'JSON' – Nkosi

回答

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> 

只需添加一个新的元素MyDat在<connectionStrings>下的<connectionStrings>Web.config文件,它应该工作