Asp.net mvc 如何从存储过程接收值?
ASP.NET MVC、VB.NET、SQL Server 2008 R2、实体框架v4 我创建了一个返回整数值的存储过程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中导
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);