Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何从存储过程接收值?_Asp.net Mvc_Model View Controller - Fatal编程技术网

Asp.net mvc 如何从存储过程接收值?

Asp.net mvc 如何从存储过程接收值?,asp.net-mvc,model-view-controller,Asp.net Mvc,Model View Controller,ASP.NET MVC、VB.NET、SQL Server 2008 R2、实体框架v4 我创建了一个返回整数值的存储过程 PROCEDURE [dbo].[spProfileCount] @STARTLETTER char(1) = 'A' AS BEGIN SET NOCOUNT ON SELECT count(*) FROM [Profils] WHERE LEFT(lastname,1) = @STARTLETTER END 我在EF中导

ASP.NET MVC、VB.NET、SQL Server 2008 R2、实体框架v4

我创建了一个返回整数值的存储过程

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

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

END
我在EF中导入了存储的proc并创建了一个函数。在该函数中,我定义了
的集合返回为
Int32
类型的标量(这与我按下
[get column information]
按钮时看到的一致)

那么这在控制器中是如何工作的呢?我做了很多事情都没有成功

错误:

无法指定System.data.Objects.ObjectResults(整型?)类型的值 将转换为“整数”


您是否尝试过文档中显示的内容

//执行查询并获取ObjectResult。
ObjectResult queryResult=query.Execute(MergeOption.AppendOnly);
//遍历产品项集合。
foreach(查询结果中的产品结果)
WriteLine(“{0}”,result.Name);

如果您确定只有一行,那么它将是
queryResult.Single()

//执行查询并获取ObjectResult。
ObjectResult queryResult=query.Execute(MergeOption.AppendOnly);
//遍历产品项集合。
foreach(查询结果中的产品结果)
WriteLine(“{0}”,result.Name);

如果您确定只有一行,那么它将是
queryResult.Single()

否。那是ASP.NET MVC VB吗?我的SP返回SELECT count(*)的值,因此是:1个值(int32类型)。我尝试了上下文。ExecuteStoreQuery(整型)(“spProfileCount@p0”,“Q”)(使用IntelliseSense构建它),但同样的错误消息…@Foxbox VB ASP.NET MVC都与您的问题无关。EF也是。重要的是有一个类型
ObjectResults(Of integer?
,它实现
IEnumerable(Of integer?)
。它是
整数?
的集合。您必须说明要将此集合中的哪个元素分配给变量
n
。其中一种方法是
n=context.spProfileCount(“Q”).Single()
。所有这些都写在文档页上了。是的,这很有效。tnx。我认为EF中SP的支持是无效的。但也许是因为我是个十足的新手。谢谢你给我指路@Foxbox:不确定您可以让这个SP支持多容易——毕竟,您的SP返回一个INT集合(您自己这么说,并以这种方式定义它);所以它不可能被转换成一个整型的结果-对吗?不。那是ASP.NET MVC VB吗?我的SP返回SELECT count(*)的值,因此是:1个值(int32类型)。我尝试了上下文。ExecuteStoreQuery(整型)(“spProfileCount@p0”,“Q”)(使用IntelliseSense构建它),但同样的错误消息…@Foxbox VB ASP.NET MVC都与您的问题无关。EF也是。重要的是有一个类型
ObjectResults(Of integer?
,它实现
IEnumerable(Of integer?)
。它是
整数?
的集合。您必须说明要将此集合中的哪个元素分配给变量
n
。其中一种方法是
n=context.spProfileCount(“Q”).Single()
。所有这些都写在文档页上了。是的,这很有效。tnx。我认为EF中SP的支持是无效的。但也许是因为我是个十足的新手。谢谢你给我指路@Foxbox:不确定您可以让这个SP支持多容易——毕竟,您的SP返回一个INT集合(您自己这么说,并以这种方式定义它);所以它不可能被转换成一个整型-对吗??
Dim n As Integer = 0 
n = context.spProfileCount("Q")
// 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);