Я использую Entity Framework 4.1 и иногда необходимо вызывать хранимые процедуры. Некоторые из них возвращают целые числа как возвращаемые значения. Например,
CREATE PROCEDURE ...
...
INSERT INTO ...
SELECT @@Identity
( Обновление : удалено возвращаемое значение, не имеет отношения. Мы возвращаем идентификатор)
У меня есть следующее код в моем классе репозитория:
var orderNo = context.Database.SqlQuery<int>("EXEC myProc").Single();
Это не срабатывает с сообщением об ошибке Указанное приведение материализованного типа 'System.Decimal' к типу 'System.Int32' недопустимо.
Если я изменю код выше в
var orderNo = context.Database.SqlQuery<decimal>("EXEC myProc").Single();
все работает.
Теперь я думаю, что я смогу вернуть int. Как правильно это сделать?