2015-03-24 2 views
-1

Новое для EF. Я использую код сначала, но созданный из исходной базы данных. Первая проблема заключается в том, когда я добавил внешний ключ к модели. После выполнения добавления-миграции из консоли она создала миграции для создания целых таблиц, а не просто добавления внешних ключей к существующим таблицам с использованием AddForeignKey(....), И когда я пытаюсь обновить, в базе данных он пытается создать базу данных localdb и я получаю ошибку Directory lookup for the file "C:\src\Project\App_Data\TheDatabase.mdf" failed with the operating system error 2(The system cannot find the file specified.). CREATE DATABASE failed. Some file names listed could not be created. Check related errors. Какой смысл имеет смысл, потому что я не использую sqlexpress. Кажется, мне нужна какая-то конфигурация, чтобы привести ее в действие. Любые полезные советы приветствуются.с использованием миграции EF с SQL Server (не экспресс/localdb)

+0

Можете ли вы просто быстро проверить? USe как заводская установка по умолчанию System.Data.Entity.Infrastructure.SqlConnectionFactory, а не LocalDb. –

ответ

-1

Надежда this помогает. В принципе, EF нуждается в вашем первом снимке вашей базы данных, чтобы создать классы модели в качестве исходного состояния, после чего вы можете добавить миграции.

Если это не поможет, можете ли вы опубликовать свою строку подключения и количество ваших миграций?

+0

Спасибо за это. Я последовал за инженерными шагами этого процесса. Итак, все, что я делаю, это следующие шаги, чтобы изменить мою обратную инженерную модель и создать применяемые миграции. Вот где я не вижу того, что ожидаю. Вот моя строка подключения из web.config. – Justin

+0

Justin

+0

Также заметил это. Будет ли это винить, если я не использую localdb? – Justin

0

Я нашел решение, хотя, возможно, это более обходное решение Я изменил завод по подключению, но ничего не сделал. Все еще пытается использовать папку App_Data и ищет там MDF. Я нашел работу вокруг. Менеджер пакетов позволяет вам переопределить строку подключения, поэтому я просто сделал это, и он отлично работает. Что касается другой части моего вопроса о том, почему она пыталась создать таблицы. Сначала мне нужно было использовать Add-Migration с -IgnoreChanges и базой обновлений, чтобы сохранить первоначальную пустую миграцию, поэтому с тех пор любые сделанные вами изменения будут только теми инкрементальными, о которых я говорил. Здесь была ссылка для этого. https://msdn.microsoft.com/en-us/data/dn579398.aspx?f=255&MSPPError=-2147217396 Спасибо тем, кто предложил помощь.