ASP.Net Linq to Entity: основной поставщик не удалось открыть - PullRequest
0 голосов
/ 04 декабря 2011

Кажется, у меня повторяющаяся проблема .Я получаю все это работает, а затем это происходит снова несколько дней спустя.Я ничего не сделал, чтобы коснуться структуры сущностей или базы данных, которая сейчас выходит из строя.Создание экземпляра сущности edmx работает, но я получаю следующее сообщение при попытке выполнить запрос к базе данных.Я решил это, удалив базы данных и очистив SQL MGMT Studio, добавив их снова и переформатировав файл edmx.

У меня есть 2 проекта: DataLayer, где существует определение моей сущности, BusinessЛогика и пользовательский интерфейс.Я заметил, что между web.config между моим DataLayer и пользовательским интерфейсом есть некоторые различия, и я не знаю, является ли это проблемой.База данных была добавлена ​​в папку App_Data в DataLayer.Решение продолжает добавлять копию базы данных в папку AppData в пользовательском интерфейсе и добавляет числовое расширение к имени файла в обозревателе сервера (в BL имя файла - FCGuide.mdf, в пользовательском интерфейсе - anmed FCGuide.mdf0 -не понимаю).

Сегодня я удалил базу данных из проекта и из SQL SErver Management Studio, а затем попытался добавить ее снова без разрешения.Я предоставил файл web.config, но не уверен, что еще нужно для устранения неполадок.Заранее спасибо.

Файл WEB.CONFIG из пользовательского интерфейса:

<?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>

Файл веб-конфигурации из DataLayer:

<?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>

1 Ответ

0 голосов
/ 04 декабря 2011

«Базовый поставщик не удалось открыть»: это означает, что строка подключения не работала, чтобы ADO.NET открывал базу данных.

Итак, строка подключения поставщика:

data source=.;attachdbfilename=|DataDirectory|\FCGuide.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework

нужна работа.Если вы создаете тестовую страницу, которая использует SQL-соединение для этой строки, можете ли вы открыть и выполнить простой запрос?

(т. Е. Вырезать как можно меньше движущихся частей).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...