LINQ to SQL, хранимые процедуры и панель методов (больше похоже на методы PAIN!) - PullRequest
0 голосов
/ 11 мая 2009

Я новичок в LINQ и у меня небольшая проблема. Я создал файл DBML и перетащил все свои таблицы на поверхность конструктора. Теперь, когда я пытаюсь перетащить хранимую процедуру на панель методов, Visual Studio секунду думает и ничего не делает. Мой метод не отображается на панели методов.

Некая ошибка происходит за кадром? Если так, как я могу устранить это?

Ответы [ 3 ]

1 голос
/ 11 мая 2009

Возможно, что дизайнер LINQ to SQL не сможет определить схему вашей хранимой процедуры, особенно если вы используете временные таблицы. Попробуйте изменить хранимую процедуру, чтобы просто выбрать из рассматриваемой таблицы, сопоставить ее с конструктором (перетаскивая поверх правильной таблицы), а затем изменить процедуру на исходный код.

0 голосов
/ 05 августа 2009

Джип, у меня была такая же проблема. Я виноват в том, что хранимая процедура, которую я пытался добавить в панель, имела возвращаемый результат с типом данных географии. Это еще не поддерживается конструктором LinQ2SQL.

Что вы можете сделать, чтобы проверить ваши возвращаемые типы данных (если вы используете некоторые экзотические типы), это добавить их в качестве параметров к вашей хранимой процедуре. Конструктор выдаст ошибку.

Например, попытка добавить следующую хранимую процедуру на панель вызовет ошибку:

CREATE PROCEDURE test
(
    @GeographicLocation geography
)
AS
BEGIN
END;
0 голосов
/ 11 мая 2009

Я просто попробовал это сам. Я использовал VS2008 SP1, перетащил каждую таблицу из моей БД в панель классов, и они добавили. Затем я перетащил в хранимую процедуру. Обработка SP заняла больше времени, чем таблицы, но метод появился без проблем в моей панели методов. Ваша хранимая процедура может быть не в состоянии использовать доступные метаданные для успешного создания метода для нее.

Я правильно сделал?

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