У меня есть хранимая процедура, которая обновляет столбец даты в таблице в базе данных MS SQL Server.Эта хранимая процедура не имеет сложной логики.Он выполняет простое обновление столбца даты со значением, переданным в его входном параметре.Эта хранимая процедура не возвращает никакого набора результатов при успешном выполнении, но возвращает набор результатов с несколькими столбцами с именами ErrorNumber, ErrorSeverity и т. Д., Когда выполнение хранимой процедуры вызывает исключение из блока обработки исключений try..catch.
Я использую подход DB First entity;Я обновил Entity Data Model для этой хранимой процедуры из моего веб-приложения MVC asp.net.Разработчик Entity Framework сгенерировал сложный тип для возвращаемого типа в этой хранимой процедуре со свойством для каждого из столбцов в списке столбцов, возвращаемых в блоке catch.Когда я вызвал хранимую процедуру из приложения asp.net MVC с допустимыми входными параметрами, я обнаружил «Исключение несовместимого с Datareader».Я знаю, что это исключение вызвано структурой объекта, потому что выполнение хранимой процедуры не возвращает набор результатов, и среда ожидает возврата столбца с именем «ErrorNumber».Я вызвал хранимую процедуру напрямую с экземпляром контекста БД с необходимыми допустимыми значениями параметров.например, db.UpdateProcedure (dueDate).Я не использовал таблицу данных для загрузки данных из считывателя данных.Я знаю, что загрузка результирующего набора в таблицу данных не вызовет этого исключения.
После внесения незначительного изменения в хранимую процедуру для возврата @@ rowcount при успешном выполнении приложение не выдало это исключение при вызове этой хранимой процедуры.
Мне интересно, есть ли лучший способ справиться с этой ситуацией, не обновляя хранимую процедуру для возврата @@ rowcount.
Я использую модель сущностей, созданную дизайнером, из базы данных;Я не вносил никаких ручных изменений в схему после автогенерации модели объекта.Честно говоря, я не люблю вносить изменения в схему вручную, когда она генерируется автоматически.
Есть ли что-то, что мне не хватает во время обновления схемы сущности для этой хранимой процедуры, чтобы иметь правильный комплексный тип, сгенерированный при обновлении модели из конструктора сущностей?
Возвращает ли хранимая процедура набор результатов при возникновении исключения и не возвращает никакого результата при успешном выполнении, вызывая какие-либо проблемы в процессе, который обновляет схему объекта?
Ваша помощь очень ценится.
Заранее спасибо.