Linq-to-SQL не может отразить изменения в одной хранимой процедуре - PullRequest
5 голосов
/ 06 апреля 2011

Я выставил несколько хранимых процедур через linq-to-SQL. Через некоторое время я понял, что мне нужен еще один столбец, возвращенный этими процедурами, поэтому я изменил процедуры, удалил их в панели дизайна и снова перетащил.

Я вижу новый столбец, отображаемый во всех моих процедурах, кроме одной - его вспомогательный класс не изменился вообще. Когда я выполняю эту хранимую процедуру напрямую, я вижу новый столбец.

Чего мне не хватает? Закрытие и повторное открытие VS не помогло. Очистка раствора тоже не помогла. Единственный обходной путь, который действительно работал, состоял в том, чтобы переименовать процедуру. Это ошибка в linq-to-sql или я что-то упустил?

ТИА

Ответы [ 3 ]

3 голосов
/ 06 апреля 2011

Я тоже сталкивался с этим раньше.Самый быстрый способ, который я нашел, - это отказаться от попытки SP сборки (если вы где-то ссылаетесь на нее), это приведет к ошибкам сборки.Затем, когда вы снова добавите SP и сделаете все заново, метаданные будут перезаписаны

0 голосов
/ 06 апреля 2011

Иногда vs studio кэширует их, а обновление ничего не делает, попробуйте перезапустить vs, удаляя и перетаскивая их снова.

0 голосов
/ 06 апреля 2011

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

Убедитесь, что вы видите изменения в обозревателе серверов, особенно в полях вывода proc ( вам может потребоваться обновить в обозревателе серверов, чтобы он появился ), затем снова импортируйте и скомпилируйте.

Должно работать тогда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...