Подтвердить что ты не робот

EF4 выдает ошибку "Указанная схема недействительна"

Я получаю странную ошибку EF4" Entity Framework v4", когда я делаю выборку в контексте.

Там я получаю это:

Указанная схема недействительна. Ошибки: Связь AnalyzerConfigurationModel.FK_AnalyzerMetadataParameters_AnalyzerMetadata не была загружена, поскольку тип AnalyzerConfigurationModel.AnalyzerMetadataParameter недоступен.

Запрос для генерации ошибки:

Using context As New AnalyzerConfigurationEntities
      Dim EFAnalyzerConfiguration = (From P In context.AnalyzerConfigurations
                                     Where P.Name = analyzerConfigurationName).FirstOrDefault
End Using

Схема показана ниже. alt text

Я проверил строки подключения, несколько раз, это не так. Все выглядит хорошо. Я не уверен, выключен ли XML, который генерируется из этой схемы, или нет. Но посмотрел и там и не вижу ничего отличного от других. Кто-нибудь сталкивался с этим раньше?

4b9b3361

Ответ 1

Я обнаружил, что если я расширил файл EDMX в проводнике решений (VS 2012) и щелкнул правой кнопкой мыши по каждому файлу .tt и выбрал Запустить пользовательский инструмент, также исправлена ​​проблема. Это может быть проще, чем de

Ответ 2

Также убедитесь, что вы ссылаетесь на проект, если установлен EntityFramework, иначе зависимый код получит эту ошибку.

https://www.nuget.org/packages/EntityFramework

Ответ 3

Позвольте мне объяснить это:

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

Чтобы исправить это, выполните следующие действия:

  • Перейдите в базу данных, проверьте все имена и свойства столбцов.
  • Подтвердите их диаграммой классов в файле .edmx. Щелкните правой кнопкой мыши класс, в котором вы получаете сообщение об ошибке, и выберите вариант обновления для класса. Перейдите на вкладку "Обновить" в диалоговом окне (если новый столбец не добавлен, если добавлен новый столбец, вы можете выбрать вкладку добавления) и выбрать соответствующие объекты. Как правило, это таблицы. Поэтому выберите их и завершите.
  • Далее проверьте имена в классе модели и классе контроллера.

Это должно быть решение. Если нет, сообщите мне.

Ответ 4

Используете ли вы шаблон SelfTracking Entity T4? У меня была эта проблема, и выяснилось, что шаблон T4 не перегенерировал мои объекты после того, как я изменил модель Entity в Entity Designer. Попробуйте щелкнуть правой кнопкой мыши по шаблону T4 и нажать "Запустить специальный инструмент" и посмотреть, поможет ли это.