Достигнута ошибка после создания классов структуры сущностей с помощью инструмента edmgen

Сначала я прочитал этот вопрос, но эти знания не помогли решить мои проблемы.

Первоначально я создал файл EDMX Visual Studio. Сгенерированные файлы с именами:

  • uqsModel.Designer.cs
  • uqsModel.edmx

Эти файлы находятся в папке App_Code.

И мое веб-приложение работает нормально. В Web Config генерируется строка подключения автоматически.

<add name="uqsEntities" connectionString="metadata=res://*/App_Code.uqsModel.csdl|res://*/App_Code.uqsModel.ssdl|res://*/App_Code.uqsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=aemloviji\sqlexpress;Initial Catalog=uqs;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

Затем мне пришлось генерировать классы с помощью инструмента edmgen(режим полной генерации). Созданы новые файлы с именами:

  • uqsModel.cs
  • uqsModel.csdl
  • uqsModel.msl
  • uqsModel.ssdl
  • uqsViews.cs

он сохраняет новые классы в папке, где ранее находились файлы edmx, и удаляет существующие файлы edmx. И когда страница перенаправляет на любую веб-страницу, серверный код не работает. И проблема: невозможно загрузить указанный ресурс метаданных.

Некоторая идея, пожалуйста.

1 ответ

Решение

Проблема, по-видимому, связана с тем, что вы сгенерировали метаданные в форме файлов.csdl,.ssdl и.msl, а строка подключения указывает на ресурс, который должен быть встроен в dll проекта (который, вероятно, быть недоступным на вашем веб-сайте).
Решение состоит в том, чтобы исправить путь к метаданным, как показано ниже:

metadata=~\App_Code\uqsModel.csdl|~\App_Code\uqsModel.ssdl|~\App_Code\uqsModel.msl

Более подробная информация доступна здесь.

Другие вопросы по тегам