2010-06-16 2 views
1

Предположим, что я следующий SP для запуска динамического SQL ALTER PROCEDURE [DBO]. [MySP] AS НАЧАТЬКак получить динамический результат SQL из SP в инфраструктуре сущности?

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

END 

затем в EDMX, я добавляю зр и функции импорта для этого зр. тип возврата - это скаляр int32.

, то я хочу, чтобы использовать эту функцию в коде, как: «не может неявно преобразовать System.Data.Objects.ObjectResults типа в целое»

int? result = context.MySP(); 

я получил ошибку сказал

Если используют

var result = context.MySP(); 

затем Одно() cann't быть применен к context.MySP().

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

ответ

1

Вы, возможно, уже решены, но ...

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

Конечно, проблема заключается в окне состояния «Возвращает Collection Of» (курсив мой).

Durr.

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

Смежные вопросы