Как получить динамический результат SQL из SP в рамках сущности? - PullRequest
1 голос
/ 16 июня 2010

Предположим, у меня есть следующий SP для запуска динамического sql ALTER PROCEDURE [dbo]. [MySP] AS BEGIN

declare @sql varchar(4000)
select @sql = 'select cnt = count(*) from Mytable ..... ';
exec (@sql)

END

, затем в edmx я добавляю функцию sp и import для этого sp.тип возвращаемого значения - скаляры int32.

, затем я хочу использовать эту функцию в коде, подобном следующему:

int? result = context.MySP();

Я получил сообщение об ошибке "не могу неявно преобразовать тип System.Data.Objects.ObjectResults вint? "

Если использовать

   var result = context.MySP();

, тогда Single () не может быть применен к context.MySP ().

Как получить результат для этого случая

Ответы [ 2 ]

1 голос
/ 31 августа 2010

Возможно, вы уже решили эту проблему, но ...

Я сделал то же самое; моя процедура возвращала целое число, поэтому я выбрал Scalars и Int32, а он возвращал System.Data.Objects.ObjectResult

Конечно, проблема заключается в том, что окно "Возвращает Коллекция Из" (выделено мной).

Durr.

Выберите Нет вместо Скаляров, и будет возвращен соответствующий результат (int).

0 голосов
/ 07 декабря 2011

Попробуйте изменить тип данных результата на System.Nullable<int>. Смотрите этот пост .

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