Невозможно перетащить хранимую процедуру в dbml designer
Я пытаюсь сделать простой вызов хранимой процедуры базы данных из приложения С#.
Я следую руководству, например, этот или этот.
Оба они имеют одинаковые основные шаги.
- Добавить элемент LINQ to SQL.dbml в мой проект
- Подключение к базе данных в проводнике сервера
- Перетащите хранимую процедуру из проводника сервера в окно конструктора .dbml
Но шаг 3 не работает. У меня есть хранимая процедура и окно моего дизайнера, но я не могу перетащить sproc. Я не получаю знак плюса или знак "не разрешен". Это просто неперетачиваемый объект.
Я не могу найти другой способ добавить мой sproc в файл .dbml. И я не могу найти никого другого, у кого была эта проблема. Каждый источник просто говорит, чтобы перетащить его.
Что я могу делать неправильно здесь?
Скриншот:
![enter image description here]()
Ответы
Ответ 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.