MVC «Добавить контроллер»: «Невозможно получить метаданные ... Конфигурирование системы не удалось инициализировать» - PullRequest
10 голосов
/ 23 ноября 2011

С нуля я сделал новое решение с двумя проектами: один был MVC 3, а другой - поддерживающий проект EF 4.2.Все это строит успешно.В проекте MVC я открываю диалог «Добавить контроллер», и он генерирует код на основе контекста и модели, выбранной мной из поддерживающего проекта EF.Сбой диалога «добавить контроллер» с сообщением:

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

Я заметил, что диалог «добавить контроллер» фактически пытается извлечь строку подключения к базе данных из файла web.config.Во-первых, это кажется мне глупым, так как у поддерживающего проекта EF уже есть app.config со строкой соединения.Но, несмотря на это, лучшее, что я могу понять, это то, что строка подключения в web.config как-то плоха.Вот как это выглядит:

<add name="Monsters2Entities" 

    connectionString="
      metadata=res://*/Monsters.csdl|
               res://*/Monsters.ssdl|
               res://*/Monsters.msl;
      provider=System.Data.SqlClient;
      provider connection string=&quot;
        data source=.;
        initial catalog=Monsters2;
        integrated security=True;
        pooling=False;
        multipleactiveresultsets=True;
        App=EntityFramework
      &quot;" 
      providerName="System.Data.EntityClient" 
/>

Строка соединения на самом деле не содержит всех нелепых разрывов строк и отступов - я просто пытаюсь облегчить чтение.В любом случае, эта строка подключения в основном идентична строке подключения, используемой в поддерживающем проекте EF, на котором она моделируется.Как мне исправить ситуацию, чтобы радовать «добавить контроллер» dialgoue?

Ответы [ 11 ]

0 голосов
/ 27 августа 2012

сначала нужно установить каркас сущности пакета

перейти к инструменту> Менеджер пакетов Libray> Консоль менеджера pakage>: установить каркас сущности

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