Как получить имена таблиц в IntelliSense в проекте базы данных Visual Studio 2012?

Недавно мы переместили систему управления исходным кодом для файлов хранимых процедур и функций SQL из VSS, интегрированного с SSMS, в проект базы данных в Visual Studio 2012. Это позволило нам легко интегрироваться с TFS, что было нашей конечной целью.

В VSS с SSMS мы могли видеть имена таблиц, имена функций, представления и т. д. по мере ввода. Но мы заметили, что в Visual Studio 2012 Intellisense больше не знает эти конкретные имена. Он знает имена и роли базы данных, поэтому мы знаем, что он подключен к базе данных на каком-то уровне.

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


person Jerry    schedule 02.07.2013    source источник


Ответы (1)


Я нашел решение, хотя это было не совсем то, на что мы надеялись. Мы хотели бы, чтобы VisualStudio получал информацию о схеме прямо из базы данных. (Файлы SQL в нашем проекте предназначались только для представлений и хранимых процедур). Однако, когда мы импортировали нашу таблицу и функции в проект, он использовал эту информацию для построения intellisense.

Хорошая новость в том, что мы нашли решение. Плохая новость заключается в том, что когда процессы вне нашего проекта БД изменяют некоторые таблицы (у нас есть несколько таких), мы должны помнить об обновлении этих схем в нашем проекте, прежде чем intellisense заработает должным образом.

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

Прежде чем начать, определите, какой тип объекта вы собираетесь экспортировать из своей базы данных: таблицы, хранимые процедуры, представления или функции. Создайте папку в проекте БД для каждого элемента, который вы хотите экспортировать.

В SSMS откройте сервер базы данных и щелкните правой кнопкой мыши экземпляр базы данных, с которым вы хотите работать. Спуститесь в Tasks -> Generate Scripts... Оттуда выберите конкретные объекты базы данных. В этом примере нужно извлечь ТОЛЬКО таблицы. Выберите «Таблицы» и оставьте все остальные не отмеченными, затем нажмите «Далее».

На этом экране выберите «по одному файлу на объект» и укажите путь к подпапке «Таблицы» в проекте базы данных. Я предпочитаю, чтобы мои сценарии DROP и CREATE вместо ALTER, поэтому нажмите «Дополнительно» и измените режим создания на «DROP и CREATE».

Отсюда просто «Далее» выход из всех диалогов. БУМ! Теперь у вас есть ряд файлов SQL, которые вы можете включить в свой проект. Эти файлы SQL обеспечат правильную работу IntelliSense, и у вас будет панель запуска для создания всех объектов вашей базы данных без необходимости перестраивать их все с нуля.

person Jerry    schedule 03.07.2013