Подтвердить что ты не робот

Невозможно перетащить хранимую процедуру в dbml designer

Я пытаюсь сделать простой вызов хранимой процедуры базы данных из приложения С#.

Я следую руководству, например, этот или этот.

Оба они имеют одинаковые основные шаги.

  • Добавить элемент LINQ to SQL.dbml в мой проект
  • Подключение к базе данных в проводнике сервера
  • Перетащите хранимую процедуру из проводника сервера в окно конструктора .dbml

Но шаг 3 не работает. У меня есть хранимая процедура и окно моего дизайнера, но я не могу перетащить sproc. Я не получаю знак плюса или знак "не разрешен". Это просто неперетачиваемый объект.

Я не могу найти другой способ добавить мой sproc в файл .dbml. И я не могу найти никого другого, у кого была эта проблема. Каждый источник просто говорит, чтобы перетащить его.

Что я могу делать неправильно здесь?

Скриншот:

enter image description here

4b9b3361

Ответ 1

Оказывается, решение было в том, что у меня была неправильная версия .dll для Visual Studio.

Я заметил, что получаю исключения при выполнении действий в Server Explorer. Исключение из Google исключало этот вопрос, который указывает на эту DLL

C:\Program Files (x86)\Common Files\microsoft shared\Visual Database Tools\dsref80.dll

как проблема.

Я заменил его соответствующей копией от одного из моих товарищей по команде, и теперь он отлично работает.

Ответ 2

Я также установил VS 11 Beta, и дизайнер работал нормально, пока я его не удалил. Мне пришлось удалить DLL вручную в вышеуказанном месте и восстановить установку, найдя Visual Studio 2010 в "Программы и компоненты" и выбрав "Удалить/изменить", а затем "Восстановить". Установщик заменит DLL файл, который был удален с правильной версией.

Ответ 3

Для тех, кто может перетащить sproc, но не видит результата (sproc просто не отображается в панели функций): убедитесь, что sproc возвращает только типы данных, которые понимает L2S. Например, вы не можете вернуть поле geography.

Ответ 4

Редактирование файлов .dbml с поверхностью дизайнера требует инструментов LINQ to SQL, которые по умолчанию не установлены как часть любой рабочей нагрузки Visual Studio 2017. Его можно установить, выбрав пункт "Инструменты LINQ to SQL" в разделе категорию "Инструменты кода" на вкладке "Отдельные компоненты" установщика Visual Studio.