ASP.Net c#:在配置中找不到指定的命名连接

时间:2011-11-08 17:33:46

标签: c# asp.net linq-to-entities app-config

我阅读了有关此问题的一些帖子,然后建议将app.config文件中的代码从我的DAL放入加载应用程序的项目中。我的DAL中没有app.config文件,我不能确定为什么或构建一个正确的语法。帮助将不胜感激!

在我的FCGuide.Designer.cs中遇到以下方法时,会抛出错误。 FCGuide是我的edmx文件的名称。 gere是方法:

    public FCGuideEntities() : base("name=FCGuideEntities", "FCGuideEntities")
    {
        this.ContextOptions.LazyLoadingEnabled = true;
        OnContextCreated();
    }

完整错误是:在配置中找不到指定的命名连接,不打算与EntityClient提供程序一起使用,或者无效。

我的web.config中有一个连接字符串。

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
  </system.web>
  <connectionStrings>
    <add name="FCGuideEntities" connectionString="metadata=res://*/FCGuide.csdl|res://*/FCGuide.ssdl|res://*/FCGuide.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;attachdbfilename=|DataDirectory|\FCGuide.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

2 个答案:

答案 0 :(得分:1)

听起来您正在引用一个不存在的名称的SQL连接字符串。

检查web.config中的连接字符串:

<connectionStrings>
    <add name="MySqlConnection"
        connectionString="Data Source=myDBServer;database=myDB;Integrated Security=True;"
        providerName="System.Data.SqlClient"/>
</connectionStrings>

确保访问连接字符串的代码没有拼写错误。

var conString = ConfigurationManager.ConnectionStrings["MySqlConnection"];

否则,您需要将连接字符串添加到调用应用程序的web.config文件中。

答案 1 :(得分:0)

ASP.NET中的app.config成为web.config。只需找到connectionStrings部分,然后将连接字符串放在那里。