Достигнута ошибка после создания классов структуры сущностей с помощью инструмента 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="Data Source=aemloviji\sqlexpress;Initial Catalog=uqs;Integrated Security=True;MultipleActiveResultSets=True"" 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
Более подробная информация доступна здесь.