Я видел такое поведение, когда вы пытаетесь добавить хранимую процедуру, и дизайнер не может определить тип возвращаемого значения, который генерирует сообщение, подобное этому:
"Типы возврата для следующих сохраненныхпроцедуры не могут быть обнаружены ... "
если вы посмотрите на сгенерированный DBML, вы увидите сгенерированную подпись:
<Return Type="object" />
</Function>
Позже эта подпись вызывает ошибку времени выполнения, которую выречь идет о.
Вы можете исправить проблему, отредактировав файл .dbml: просто измените сигнатуру на правильный тип возвращаемого значения (обычно Int).
<Return Type="System.Int32" />
</Function>
Затем необходимо восстановитьдля повторного создания остальных файлов.
Или, если вы предпочитаете, чтобы дизайнер делал следующее:
Удалите процедуру из Dbml, иначе вы не будетевозможность изменить тип возврата.
Добавить хранимую процедуру и игнорировать ошибку «Типы возврата ...».
Перейти кхранимая процедура (Свойства | ВозвратТип) и измените тип с пустого на ваш тип, в моем случае было Int.Выберите «Да», когда появится сообщение «Эта операция не может быть отменена ...».Возврат будет отображаться как «None», но внутри он сгенерирует тип возврата Int (вы можете проверить файл .cs).
Перестроить проект.
Теперь все готово.