是否有可能使用Entity Framework执行存储过程,传递变量并返回数据以及返回值?实体框架:如何运行存储过程并返回值?
请不要留下任何有关与实体框架功能映射的代码。
我已经尝试这样做,我不断收到同样的错误该死:
Procedure or function 'usp_BusinessUser_Search' expects parameter '@TotalRecords', which was not supplied.
这里是我的代码:
SqlParameter Business = new SqlParameter("Business", Search.Term);
SqlParameter Location = new SqlParameter("Location", Search.Location);
SqlParameter PageNumber = new SqlParameter("PageNumber", Search.CurrentPage);
SqlParameter RecordsPerPage = new SqlParameter("RecordsPerPage", Search.RecordsPerPage);
SqlParameter TotalRecords = new SqlParameter("TotalRecords", 0);
SqlParameter parm = new SqlParameter()
{
ParameterName = "@TotalRecords",
Value = 0,
SqlDbType = SqlDbType.Int,
Direction = System.Data.ParameterDirection.Output
};
var List = db.ExecuteStoreQuery<ENT_SearchBusinessResult>("exec usp_BusinessUser_Search",Business,Location,PageNumber,RecordsPerPage,parm);
没有人有任何的想法是什么原因造成的?
感谢
编辑:
存储过程的代码:
ALTER PROCEDURE [dbo].[usp_BusinessUser_Search] ( @Business nVarChar(255) = NULL
, @Location nVarChar(255) = NULL
, @PageNumber Int = 1
, @RecordsPerPage Int = 10
, @TotalRecords Int OUTPUT)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @SQL NVARCHAR(MAX)
, @CacheTable SYSNAME
, @TotalRows Int
, @Category VarChar(255)
, @BusinessCategory Int
, @TownCounty VarChar(50)
, @PcodeTownCounty VarChar(50)
INSERT Voucher_SearchHistory (Keyword, Location)
SELECT NULLIF(@Business,''), NULLIF(@Location,'')
你的存储过程声明是什么样的? – 2012-08-02 14:18:58
请参阅编辑 – Funky 2012-08-02 14:24:15