Я тоже столкнулся с этой проблемой, используя VS 2015. Я безуспешно пробовал все остальные решения. Оказалось, что моя строка подключения (хотя сформированная именно так, как MS говорит нам ее формировать) нуждалась в двойном \ для правильной работы.
Вот что НЕ работало:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\V11.0;AttachDbFilename=|DataDirectory|\SquashSpiderDB.mdf;Initial Catalog=SquashSpiderDB;Integrated Security=True" providerName="System.Data.SqlClient" />
и вот на что я его изменил, чтобы генератор кода заработал:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\\V11.0;AttachDbFilename=|DataDirectory|\SquashSpiderDB.mdf;Initial Catalog=SquashSpiderDB;Integrated Security=True" providerName="System.Data.SqlClient" />
Обратите внимание на двойные символы \ перед V11.0 и именем базы данных.
Надеюсь, это сэкономит время кому-то еще.
ОБНОВЛЕНИЕ
Это заставляет генерацию кода работать, но тогда приложение не запускается, потому что \ V11.0 не является допустимой строкой подключения. Мне кажется, что у MS есть ошибка в генерации кода, когда он анализирует строку подключения. Мне пришлось изменить его обратно на одиночный \ после того, как я запустил генерацию кода, чтобы приложение снова заработало.
ОБНОВЛЕНИЕ 2
После некоторых дополнительных поисков, проведенных моим партнером, мы обнаружили, что на самом деле создание кода мешало нам изменить поле «Исходный каталог». Когда проект был создан мастером, он автоматически установил для исходного каталога значение aspnet--. Затем мы изменили это поле исходного каталога на DB. Это отлично сработало для работающего приложения. Он мог легко попасть в базу данных. Но по какой-то причине это мешает генерации строительных лесов кода. Вернув исходный каталог к тому, что было раньше (aspnet--, строительные леса снова начали работать (без необходимости в \ V11.0).
Надеюсь, что это поможет кому-то в будущем.
person
Greg Veres
schedule
19.02.2016
DbContext.OnModelCreating()
и смоделировать контроллер. Затем я раскомментировал оскорбительные строки и продолжил свой веселый путь. - person Albert Bori   schedule 18.05.2014.AddFromAssembly(Assembly.GetExecutingAssembly())
исправляет ее. - person Eonasdan   schedule 30.06.2014