Как запустить сценарий SQL для файла MDF? - PullRequest
6 голосов
/ 20 ноября 2010

Я создал модель базы данных с помощью метода сначала модель, используя Entity Framework 4.0. Затем я создал сценарий sql, используя Создать базу данных из модели ... Я также создал файл базы данных SQL Server в папке App_Data. Как мне теперь запустить файл SQL для этого файла MDF?

Я использую Visual Studio 2010.

Ответы [ 4 ]

5 голосов
/ 16 января 2011

Я столкнулся с этой же проблемой, и вот что сработало для меня.

Когда я выбрал «Создать базу данных из модели ...», я создал новый файл MDF. Этот процесс работал нормально, и Visual Studio сгенерировал необходимый сценарий SQL. Однако я не знал, как подключиться к тому же файлу MDF для запуска сценария.

Оказалось, довольно легко.

  1. Щелкните правой кнопкой мыши на сценарии и выберите Соединение> Соединить

  2. Имя сервера и аутентификация уже должны быть установлены для локального экземпляра SQLEXPRESS.

  3. Нажмите кнопку Опции

  4. Нажмите Дополнительные параметры подключения вкладка

  5. Вставьте путь к файлу базы данных, используя в качестве руководства следующее:

    AttachDBFilename = C: \ Путь \ К \ Database \ LocalData.mdf, база = LocalData;

  6. Нажмите кнопку Connect

Если у вас все еще есть проблемы с подключением, возможно, это связано с тем, что соединение уже открыто. Проверьте обозреватель сервера и, если подключение открыто, щелкните правой кнопкой мыши и выберите «Закрыть подключение».

Этот процесс также создаст постоянное соединение, пока скрипт SQL остается подключенным. Вам нужно закрыть скрипт или выбрать «Правый клик»> «Соединение»> «Отключить».

Более подробную информацию можно найти по этому вопросу: EF4 Создать базу данных

1 голос
/ 22 ноября 2010

Я нашел решение, но оно немного хакерское.

У меня SQL Server Express (2008 R2).Поэтому при создании базы данных из модели я подключаюсь к ней и позволяю ей создать базу данных там.Тогда я иду к C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA.Часть 10_50 из-за версии и может отличаться для вас.Таким образом, в этой папке есть файл .mdf, названный так же, как база данных - .mdf.Там также файл _log.ldf.Я скопировал их в папку App_Data моего проекта.

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

Если вы найдете лучший ответ, пожалуйста, поделитесь.

0 голосов
/ 17 января 2016

Прекрасные ответы выше, но мне пришлось сделать еще несколько шагов в VS2013, но я решил с помощью здесь следующее.

  1. Я создал модель ADO.NET из существующего .mdf
  2. Щелкните правой кнопкой мыши -> Создать базу данных из модели
  3. Щелкните правой кнопкой мыши файл .mdf в обозревателе решений и откройте
  4. В панели свойств скопируйте строку подключения в буфер обмена
  5. В окне SQLQuery, созданном ADO Model, нажмите изменить соединение
  6. В новом окне «Подключиться к серверу» -> «Дополнительные параметры подключения» -> вставить строку подключения из буфера обмена
  7. В обозревателе серверов щелкните правой кнопкой мыши База данных -> Новый запрос
  8. Копирование и вставка запроса из сценария ADO Generated в новое окно запроса
  9. Измените USE [yourdatabase.mdf] на USE [longPath], где longPath - очень длинный путь, указанный в раскрывающемся списке вверху. Самый простой способ - начать печатать и нажимать клавишу CTRL-SPACE.
  10. Запустить запрос
  11. Сохраните longPath, потому что вы можете просто вставить его в USE [] для любого нового запроса, сгенерированного ADO.

Надеюсь, это кому-нибудь поможет - Happy Coding!

0 голосов
/ 15 июля 2013

Я столкнулся с той же проблемой, подход Model First в mvc4 с использованием EF5.Я создал проект, добавил новую модель, добавил сущности и ассоциации на диаграмме edmx.Щелкните правой кнопкой мыши на диаграмме и выберите «Создать базу данных из модели».Это создает файл sql.

Теперь добавьте файл mdf, скажем, Database1.mdf (Добавить> Новый элемент> Данные> База данных SQL Server) в папку App_Data в обозревателе решений.

Rightнажмите> Открыть в этом файле mdf.Теперь в панели свойств у вас есть строка подключения.Просто скопируйте его как есть.

Вернитесь к созданному сценарию SQL, щелкните правой кнопкой мыши> Выполнить.Всплывающее окно запрашивает параметры подключения.Убедитесь, что в имени сервера указано правильное значение (используйте имя вашего компьютера или 127.0.0.1).

Теперь в настройках перейдите на вкладку «Дополнительные параметры подключения» и вставьте строку подключения, скопированную из свойств файла mdf.

Это отлично сработало у меня и вполне логично.Нет необходимости напрямую играть с установочным каталогом SQL Server.

...