Вы должны проверить свойство ReturnValue
.
Возможно, следующее работает лучше?
int currentRating = (int)db.sproc_GetAverageByPageId(pageId).ReturnValue;
Обновление: , поскольку ваш сохраненный процесс возвращает набор результатов вместо использования оператора return
, фактические данные будут доступныкак элемент в перечислимом, возвращаемом db.sproc_GetAverageByPageId(pageId)
.Если вы проверите тип ISingleResult<T>
, вы увидите, что он наследует IEnumerable<T>
, что указывает на то, что вы можете перечислить объект для получения данных, каждый элемент имеет тип T
.
Поскольку sproc делает SELECT SUM(*) ...
, мы можем рассчитывать на набор результатов, который всегда будет содержать одну строку.Таким образом, следующий код даст вам первый (и единственный) элемент в коллекции:
var sumRow = db.sproc_GetAverageByPageId(pageId).Single();
Теперь тип sumRow
будет T
из определения интерфейса, что в вашем случаеэто PsychoDataLayer.sproc_GetAverageByPageId
.Надеюсь, этот тип содержит свойство, которое содержит фактическое значение, которое вы ищете.
Возможно, вы можете поделиться с нами макетом типа PsychoDataLayer.sproc_GetAverageByPageId
?