C# ASP.Net Linq到实体:基础提供程序在打开时失败

C# ASP.Net Linq到实体:基础提供程序在打开时失败,c#,asp.net,database,linq-to-entities,C#,Asp.net,Database,Linq To Entities,我似乎有一个反复出现的问题。我把一切都搞定了,几天后又发生了这种事。我没有做任何事情去接触实体框架或数据库,而现在它正在失败。实体edmx的实例化正在工作,但我在尝试对数据库执行查询时收到以下消息。我解决这个问题的方法是删除数据库,清除sqlmgmtstudio并再次添加它们,然后重新压缩edmx文件 我有两个项目:实体框架定义所在的数据层、业务逻辑和UI。我注意到我的数据层和UI之间的web.config存在一些差异,不知道这是否是个问题。数据库已添加到数据层中的App_数据文件夹中。解决方案

我似乎有一个反复出现的问题。我把一切都搞定了,几天后又发生了这种事。我没有做任何事情去接触实体框架或数据库,而现在它正在失败。实体edmx的实例化正在工作,但我在尝试对数据库执行查询时收到以下消息。我解决这个问题的方法是删除数据库,清除sqlmgmtstudio并再次添加它们,然后重新压缩edmx文件

我有两个项目:实体框架定义所在的数据层、业务逻辑和UI。我注意到我的数据层和UI之间的web.config存在一些差异,不知道这是否是个问题。数据库已添加到数据层中的App_数据文件夹中。解决方案不断将数据库副本添加到UI中的AppData文件夹,并在BL中的服务器资源管理器中为文件名添加数字扩展名。文件名是FCGuide.mdf,在UI中是一个med FCGuide.mdf0-我不明白

今天,我从项目和SQL SErver Management Studio中删除了该数据库,然后在没有解决方案的情况下再次尝试添加它。我已经提供了web.config,但不确定还需要什么来帮助进行故障排除。提前谢谢

用户界面中的WEB.CONFIG文件:

来自数据层的Web配置文件:


基础提供程序在打开时失败:这意味着连接字符串无法允许ADO.NET打开数据库

因此,提供程序连接字符串:

需要一些工作。如果您创建一个测试页面,该页面在该字符串上使用SQL连接,您可以打开并执行一个简单的查询吗


也就是说,把东西拆成尽可能少的运动部件。

你有什么错误?至少需要类型和消息。失败的数据访问代码是什么?错误:用户代码未处理实体异常。基础提供程序在打开时失败。linq查询为:var restList=from RESTAURANT in db.RESTAURANTs.includeguisine.IncludeCITY where RESTAURANT.REST\u ID==restID select RESTAURANT.ToList;这有助于解释为什么它有时工作,然后停止吗?@Susan可能,这取决于潜在的问题。我在web.config文件上做了一个文件比较,我的上一个版本和当前版本(失败的版本)是相同的。似乎web.config没有问题。@Susan我会在数据库中查看您引用的错误。这就是为什么我建议使用一个测试页面,将所有内容都剥离到最基本的部分。
<?xml version="1.0"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
    <appSettings>
        <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
    </appSettings>
    <system.webServer>
        <handlers>
            <remove name="ChartImageHandler" />
            <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
                path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </handlers>
    </system.webServer>
    <system.web>
        <authorization>
            <allow roles="ADMIN" />
            <allow roles="MEMBER" />
            <allow roles="GUEST" />
            <allow roles="RESTAURANT" />
            <allow users="admin" />
            <allow roles="MEMBER" />
            <allow roles="GUEST" />
            <allow roles="GUEST" />
            <allow roles="ADMIN" />
            <allow users="admin" />
        </authorization>
        <roleManager enabled="true" />
        <authentication mode="Forms" />
        <httpHandlers>
            <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                validate="false" />
        </httpHandlers>
        <pages>
            <controls>
                <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
                    assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            </controls>
        </pages>
        <compilation debug="true" targetFramework="4.0" />
    </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>
<?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>
data source=.;attachdbfilename=|DataDirectory|\FCGuide.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework