MVC3: невозможно получить метаданные для моего класса модели, когда я хочу получить доступ к данным модели из контроллера - PullRequest
15 голосов
/ 20 февраля 2012

Я новичок в платформе asp.net MVC3. Я следую учебному пособию, которое размещено на веб-сайте asp.net: http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/getting-started-with-mvc3-part1-cs

Но на пятом шаге мне нужно получить доступ к данным моего класса модели.Из контроллера я столкнулся с некоторыми проблемами, я создал класс модели и класс контекста, но когда я хочу создать класс контроллера, используя шаблон скаффолдинга (контроллер с действиями чтения / записи и представлениями, использующими структуру сущностей), он выдает ошибку какниже:

невозможно получить метаданные для «полного имени моего модельного класса».Системе конфигурации не удалось инициализировать

Ответы [ 5 ]

18 голосов
/ 22 сентября 2012

Просто измените тип поставщика строки подключения на System.Data.SqlClient

12 голосов
/ 16 января 2013

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

  1. Создайте контроллеры (пока не включайте строки подключения в Web.config или вы получите указанную ошибку.)
  2. Добавьте строку подключения в Web.config с тем, что написано в руководстве.
  3. Наконец, запустите приложение.

ПРИМЕЧАНИЕ: Не создавайте вручную компактную базу данных, поскольку Visual Studio автоматически создаст и отобразит ее для вас вместе со структурой модели при запускеи перейдите к этому контроллеру в вашем браузере.Просто убедитесь, что в вашем Web.config указан правильный путь к базе данных.Надеюсь это поможет!Привет.

5 голосов
/ 16 октября 2012

Я изменил имя провайдера на System.Data.SqlClient, как предложено в другом ответе. Это позволило мне создать контроллер на этапе добавления контроллера. Но приложение не отображало ресурс фильмов вообще, когда я его запускал. Затем я изменил его обратно на System.Data.SqlServerCe.4.0, как в учебнике, и все заработало.

Прочитав другие обсуждения в Интернете, я нашел другой метод.

Если вы не добавите строку подключения до тех пор, пока не создадите класс контроллера, он также будет работать. Это похоже на ошибку.

5 голосов
/ 09 мая 2012

Попробуйте это ...

<add name="MovieDBContext" connectionString="data source=.\SQLEXPRESS;&#xD;&#xA;         Integrated Security=SSPI;&#xD;&#xA; AttachDBFilename=|DataDirectory|\MVCtest.sdf;&#xD;&#xA;         User Instance=true" providerName="System.Data.SqlClient" />
0 голосов
/ 16 сентября 2013

Убедитесь, что вы добавили строку подключения в правильный файл web.config, потому что есть 2 (одна на уровне решения, а другая на уровне представления). Вы хотите добавить его на уровне просмотра. Ваш грубый материал будет создан очень хорошо после того, как вы исправите строку подключения и создадите контроллер. Спасибо, Морис Маглаланг

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