如何在linq中解决这个问题 [英] how solve this problem in linq
本文介绍了如何在linq中解决这个问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
hi
我收到此错误
商店数据提供商返回的数据阅读器没有足够的列用于请求的查询。
hi
I am getting this error
"The data reader returned by the store data provider does not have enough columns for the query requested."
alter Procedure [dbo].[P_poll_Get_checkpolluser]
(
@user varchar(100),
@Result int output
)
AS
Begin
SELECT @Result=Count(*) from
( SELECT FCourseExeID
from VDB_CoursRegisterAll
where FUserName=@user and FMark >= FMinmark and FCourseExeID in(select FCourseExeID from [dbo].[TEvalSetting] where FISEnabled =1)
EXCEPT
SELECT FCourseExeID
from [dbo].[TEvalScores]
where FUserName=@user ) as k
RETURN @Result
end
using (Hrst context = new Hrst())
{
ObjectParameter parameter = new ObjectParameter("Result", typeof(int?));
var q = context.P_poll_Get_checkpolluser(user, parameter).First();
if(Convert.ToInt32(parameter.Value.ToString()) > 0)
{}
}
推荐答案
实体框架不支持开箱即用的存储过程的标量返回。
但是尝试从RETURN @Result中交换SP中的倒数第二行
到SELECT @Result
Entity framework does not support scalar return from a stored procedure out of the box.
But try to exchange the second last line in the SP fromRETURN @Result
toSELECT @Result
这篇关于如何在linq中解决这个问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文