Как получить значение из хранимой процедуры? - PullRequest
0 голосов
/ 21 января 2012

ASP.NET MVC, VB.NET, SQL Server 2008 R2, Entity Framework v4

Я создал хранимую процедуру, которая возвращает целочисленное значение

PROCEDURE [dbo].[spProfileCount] 
@STARTLETTER char(1) = 'A'
AS
BEGIN  
    SET NOCOUNT ON

    SELECT count(*) 
    FROM [Profils]
    WHERE LEFT(lastname,1) =  @STARTLETTER 

END

Я импортировал сохраненный процессв EF и создал функцию.В этой функции я определил Returns a collection of как скаляр типа Int32 (что соответствует тому, что я вижу, когда нажимаю кнопку [get column information]).

Так как это работает в контроллере?Я пробовал много вещей без успеха.

Т.е.

Dim n As Integer = 0 
n = context.spProfileCount("Q")

Ошибка:

Значение типа System.data.Objects.ObjectResults (из целого числа?) 'не может быть преобразовано в' целое число '.

1 Ответ

3 голосов
/ 21 января 2012

Вы пробовали то, что показано в документации?

Класс ObjectResult (Of T) .

// Execute the query and get the ObjectResult.
ObjectResult<Product> queryResult = query.Execute(MergeOption.AppendOnly);

// Iterate through the collection of Product items.
foreach (Product result in queryResult)
    Console.WriteLine("{0}", result.Name);

Если вы уверены, что у вас будет только один ряд, он будет просто queryResult.Single()

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